0

考えられるほとんどのボトルネックでスクリプトを最適化しました。コードを他の言語に移植するのは難しいため、これは良い解決策ではありません。

これらの継続的に実行される PHP スクリプトのパフォーマンスを最適化するために使用できるオペコード ジェネレーター、オプティマイザーはありますか?

これらは、apache ではなく、コマンド ラインから実行されます。

/usr/bin/php myBatchProcessor.php 

eaccelerator または Zend オプティマイザはコマンド ライン スクリプトで機能しますか? または他の提案はありますか?

4

2 に答える 2

2

PHP の「オプティマイザ」は蛇の油です!

PHP ソースから Zend Engine 1 が実行されるバイトコードへの変換が非効率的だったため、「オプティマイザー」が必要になったのはPHP4の時代だけでした。これは、PHP5 ではもはや問題ではありません。PHP4 時代の製品の最近の派生製品は、非常に役立つバイトコード キャッシュも実行します。プレーンなバニラ PHP を高速化できると主張する製品には注意してください。特にお金のために。

これらは、apache ではなく、コマンド ラインから実行されます。

通常、他の人が行ったように、私は APCバイトコード キャッシュをお勧めしますが、APC はコマンド ラインで長時間実行されるスクリプトに対しては何もしません。

コードのプロファイルを作成し、考えられるすべてのボトルネックを除去したことは確かですか ?

もしそうなら、実行可能ファイルを作成する前に PHP を C++ に変換するコンパイラであるHipHopに挑戦する時が来たのかもしれません。HTTP 要求を処理するためだけに設計されているため、ニーズに合わない場合があります。

于 2011-03-31T06:42:45.220 に答える
0

APCをインストールして、コマンドラインキャッシュに対してAPCを有効にすることができます。確実に!その場合、WebサーバーのAPCを無効にします。そうしないと、2つが衝突します。

通常、オペコードの生成はスクリプトの速度を低下させる部分ではないため、APCにあまり期待しないでください。スクリプトのプロファイリングを検討してください。

編集:
これらの設定を構成ファイルに追加します。
apc.enabled = 1
apc.enable_cli = 1

于 2011-03-31T06:33:08.310 に答える