平均した時間が以下になります。
PHPのバージョンはすべて一緒なのですが
ab -n 20 -c 1 http://aaaaa.com/bbb/
※URLはダミーです。
test01サーバ 32bit Fedora 130.333
test02サーバ 64bit Fedora 403.695
test03サーバ 64bit Fedora 363.263
処理時間が32bitの方が数倍早いです。
eAcceleratorやZend Optimizerは特にチューニングはしてないのですが
32bitと64bitで性能の差というのは存在するのでしょうか?
バージョンは以下になります。
全部共通のバージョンです。
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies
32ビットと64ビットの差と考える前に、以下の条件の違いをご確認ください。
各サーバで計測した時間は平均値でしょうか?
平均値でなければ平均値をお願いします。
まず64bitで遅い原因は様々ですが、代表的な原因はハードウェアのドライバーが対応していない。
特にHDDが原因となることが殆どです。
リクエストとは具体的にどのようなデータですか?
Pingでしょうか?
64bit Fedoraでよろしかったですね?
アプリケーションが64bitに最適化されていない場合があります。
単に64bitに対応させただけで、分散処理を考慮した構築になっていないのではないでしょうか。
これらの多くを問題を差別化するためにHPLベンチマークをオススメします。
http://www.netlib.org/benchmark/hpl/
結論ですが、32bitよりも遅いのは何らかの問題が生じている可能性が高いです。
しかし、ソフトウェア側の対応が進んでいないので劇的な高速化は見込めません。
64bit デュアルコア程度であれば分散処理の能力は知れているのでクラスタ化とアプリケーションの対応で100%発揮できるものと思っています。
リクエストとは具体的にどのようなデータですか?
HTTPでのアクセスですね。
普通にHTMLを表示するようなリクエストです。
PHPのプログラムを使って表示してます。
64bit デュアルコア
これは、64bit クアッドコアなんですよ。
外部サーバーへのリクエストですと、通信時間やリクエスト先のサーバーの処理時間がノイズになります。
実行環境が Apache + PHP の組合せだとすると、Zend を入れたとしても、シングルスレッドで動いているのではないかと思います。とすると、マルチコアのメリットは出にくいのではないかと。
それから、test01サーバの Xeon のナンバーは分かりませんか?
クロック数の違いだけでは、test01 と test03 サーバに2倍以上の差が開くことは考えにくいです。何か他に原因がありそうです。たとえば、メモリが足りなくて頻繁にページングが起きているとか。
test02 と test03 の差は、Pentium4 と Xeon の能力差ということで整理がつくと思います。