[FX.php List] FM Scripts vs. PHP
DC
dan.cynosure at dbmscan.com
Fri Oct 26 10:28:23 MDT 2007
hi derrick, thanks for that practical advice. i read your post with real
interest because i've been arriving at the same conclusions - especially
the part about the "development time" value of (even a slow) legacy app.
i'd love to do everything in php and sql but the fact is there is a
large amount of work ahead for me to be able do that - so i'm doing it
in stages and phasing out old stuff where possible.
but even that goal is complicated by our existing FMP solutions because,
as you and others have noted - FMP offers other benefits beyond raw speed.
dan
Derrick Fogle had written:
> I've done a LOT of work with PHP - talking both to MySQL and to FM
> (versions 6, 7, and 8) via FX.php, even using PHP as a data migration
> processor between MySQL and FM databases. It didn't take long to run
> into performance problems on the FM side, so I've ended up doing a fair
> amount of testing: between FM and MySQL, and between the various methods
> of getting data in and out of FM.
>
> I won't even address FM6; consider it a dead horse. For FM 7/8, here are
> a few things I've learned (which may be less applicable with FM9, but
> probably still persists to some degree):
>
> 1. MySQL is so much faster than FM as a back-end database, you can have
> horribly inefficient code talking to MySQL and it will still be faster
> than the most optimized code talking to FM. I'm talking so much faster
> that's it's hard to measure, like: FM takes 3.5 seconds to do operation
> X; MySQL takes... oh it's done by the time I get my finger off the start
> button on my stopwatch. So I use the microtime functions in PHP and
> discover that FM takes 3.5 seconds, and MySQL takes 3.5 milliseconds for
> the same thing.
>
> 2. There is a huge time overhead in any single XML request to FM. It's a
> lot worse on Mac-based servers than Windows-based servers, BTW. I
> consistently get the best performance by doing the least number of
> queries to FM as possible. That means it's faster to get data out of a
> single FM call to a single FM layout with portals to retrieve related
> data. than it is to make 2 separate calls to FM. The more data in the
> related record set, the worse the difference gets.
>
> 3. FM's API only allows updating a single record per call. SQL allows
> the updating of any group of records in one call. Because of the time
> overhead associated with any XML request to FM, an FM solution becomes
> rubbish if you need to update more than just a few records. Using
> portals to get the updates into a single call should help this, but I
> haven't tested that particular method and don't plan to.
>
> This brings us back to the original issue of FM scripts vs. PHP: at some
> point (say, 20 records need changed) using FM scripts ends up being the
> best choice among poor choices to do multi-record processing.
>
> Again, if your operations are primarily workgroup FM-based, with only a
> small, low-traffic web presence for specific stuff, whatever you do with
> FM is probably going to be fine. Processing power is cheap, and even
> when FM is dog-slow compared to MySQL, if the traffic is low enough, it
> won't make a practical difference to your users. This is where I'm at,
> and where I would suspect a lot of people on an FM list are at.
>
> If your operations are mostly web-based, or you have a lot of web
> traffic (say, a busy online store or intranet for a big workforce), I
> honestly don't think it will matter that much how you approach getting
> data in and out of FM. The performance will be poor unless you throw a
> lot of hardware at it. A single server running Linux, Apache, MySQL, and
> PHP (LAMP), will be able to outperform a whole rack full of systems
> dividing up the tasks of running FM Server, the webconnector, and
> multiple IIS servers to respond to client requests.
>
> Of course, the biggest cost of just about anything is the development
> time. Do you already have a good FM solution running? If so, you can
> probably throw a lot of hardware and licensing costs at expansion, and
> spend less money overall.
>
> Oh well, I've got to get back to my real job now. ;-)
>
>
> On Oct 26, 2007, at 2:36 AM, Leo R. Lundgren wrote:
>
>> Am I misunderstanding the features of portals? In other databases you
>> have the ability to JOIN tables, which seems much more flexible to me
>> in that with FM portals you can only go one level down a hierarchy, so
>> to speak. That's a pain in the ass, and it's made me collect my data
>> in other ways than using portals.
>
>
> Derrick Fogle
> derrick at fogles.net
>
>
>
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list
>
More information about the FX.php_List
mailing list