Apache
2.0.53/PHP 5.0.4   32-bit/64-bit Comparison on AIX
      Of all the things I've read about
32 bit and 64 bit differences, my personal conclusion is: there is no
conclusion. Some apps will run slower in 64bit, and some apps
will run faster. There are so many variables to take into account, it's
almost impossible to predict or calculate beforehand, unless your
initmate with the code of the application your running and the OS and
hardware on which it's running. So, in that light, I decided I would
compile Apache 2.0.53 with PHP5.0.4 in both 32bit and 64bit modes and
see which one ran faster. Why? Because I'm a loser, and have nothing
better to do at three in the morning when I can't sleep. If your really
looking for a quick and dirty answer, generally speaking, it seems from
most tests results I've seen on various platforms, mostly Linux, that
all things being equal, 64bit apps generally are slower. But not always.
For DB2, at least on AIX, there is huge performance increase using the
64bt version over the 32bit version. Not even taking into account the
fact that with a 64bit DB2 Instance you can go past the 32bit 2GB memory
limit and go as high
as you want (almost), which is another huge boost, for enterprise
solutions requiring more than 2GB of memory. I saw some MYSQL tests out there
somewhere that show for inserts and deletes, 64bit was faster, but selects
were slower. In my personal testing at customer, we
found for the same 32bit application command (if you must know, a VPM
AT0EXPND) was taking 1.6 hours against the 32bit DB2 8.2 instance, is
taking 15 minutes or so against the 64bit DB2 8.2 instance. With such a huge
performance gain, we had to double take to make sure we really got what we
were seeing. But we're
not discussing large scale databases and enterprise solutions here,
just some simple basic level tests. I should also note, I'm no expert in this field, just a general joe who wanted to see which bit mode I should run Apache and PHP in on my new server.
Test
Environment:
OS:
AIX 5.3ML01 with
Lastest Apr05 fixes, except for xlC.50.rte, I kept that at the
latest 6.0 level, which is 6.0.0.13 at the time. (I have other
applications on this box that won't like xlC.50.rte at 7.0.x.x or above)
Machine:
44p270
RS/6000 with 4 375Mhz Power3+ Processors each w/8Mb L2 Cache,
5GB RAM, Fujitsu 10k 4.7ms avg seek time SCSI HDD
Compiler:
AIX Native
VisualAge
C/C++ at level 6.0.0.12
PHP Application for testing:
Gallery 1.4.4pl6 with 3226
pictures, 9 top level albums. Every Gallery Systems admin with more
than a 2k pictures knows that Gallery Version 1 is of poor performance
with many pictures, and especially with more than a few hundred or so
in one album. G1 is file-based, New G2 (which isn't released, just CVS
betas right now) is supposed to be much better, it's My-SQL based.
These tests were performed for G1 only. I may update this article later
for G2 figures.
Results:
Test1: Load my daughters album,
for which the 1st level album contains only sub-albums of which
containing about 2800 pictures.
Test2: Load Sub-Album Age3,
which contains about 1300 pictures alone
A point of interest:
On my old 43p150 375Mhz Power2 with 1GB RAM, (processor not cabable of
64bit) the times are:
10.2s for Test1, 19.8s for Test2
Conclusions:
Well it seems for Apache2 with PHP5 on AIX5.3 with
visualage compiler, 32 bit mode is faster!
I will probably update this once I have MYSQL installed, or mabey with
some application with PHP calling my DB2 database.
Questions or comments, please direct them to: webmastr@snyderworld.org