0

私は非常に複雑な webapp に最後の仕上げを行っているところです。これは間もなくベータ版になります。私の PHP コーディング スタイルには、require ステートメントを介してさまざまな「コンテナー」スクリプトで再利用される多数の小さなスクリプトを作成することが含まれます。過去に、eAccelerator を使用してスクリプトを高速化したことがありますが、その結果は非常に印象的でした (一般的に x 4 の改善が得られました)。しかし、現在のアプリは別のレベルにあり、私が以前に行ったどのアプリよりもはるかに多くのユーザーを引き付ける可能性があります. 私は、流動的で高速なユーザー エクスペリエンスを提供するために、サーバー上で何ができるかを確立しようとしています。私は以前に Zend Server を使用したことがありません (そして、非常に高い提示価格が設定されています)。そのため、次のいずれかで役立つかどうかについてフィードバックを得るのが最善だと考えました。

  • 私の "使用および再利用された PHP スクリプトのスコア" コーディング スタイルと mySQL データベースを使い続けます。
  • より良いバグ追跡/エラー報告/監視を提供する
  • パフォーマンスの加速
  • 実行に最も時間がかかっている/微調整などで実行できるコードのビットを特定するためのプロファイリング。

Zend Server の Windows 試用版をダウンロードして、ローカルの WAMP インストールで試してみました。ただし、1 日はまだ 24 時間しかないので、始める前に、ここで間違ったツリーを鳴らしているかどうかを知っておくと便利です。どんなヒントでも大歓迎です。

4

2 に答える 2

1

私の意見では、試してみる価値は間違いありません。他の構成/製品では簡単に得られない独自の機能がいくつかあり、将来的に役立つ可能性があります.

ポイントに対処するには:

  • 私の "使用および再利用された PHP スクリプトのスコア" コーディング スタイルと mySQL データベースを使い続けます。

    再利用されたインクルード ファイルに問題はありません。詳細については、パフォーマンス時に説明します。

  • より良いバグ追跡/エラー報告/監視を提供する

    はい。コード トレース機能は、バグを追跡するのに最適です。管理インターフェイスを使用すると、ログ ファイルを調べなくても、すべてのサーバーからの PHP エラー メッセージを 1 か所で明確に確認できます。

  • パフォーマンスの加速

    バイトコード キャッシュを有効にすると、eAccelerator で見られるようにパフォーマンスが向上します。バイトコード キャッシュを使用すると、頻繁に必要なスクリプトの読み込みが、リクエストごとに PHP で解析するよりもはるかに高速になります。さらに、キャッシング API を活用して、データベース クエリの結果をキャッシュすることもできます (ネイティブに Memcached やファイル キャッシュなどを設定する必要はありません)。

  • 実行に最も時間がかかっている/微調整などで実行できるコードのビットを特定するためのプロファイリング。

    コード トレースは、実稼働環境で特に役立つこれらの一部を提供します。ただし、より高度なコード プロファイリングには、XDebug や Zend Debugger などをいつでも使用できます。

もう 1 つの優れた機能は、セッション クラスタリングです。複数の Web サーバーを実行する必要が生じるのはそう遠くないことのように思えます。その時点に到達したら、PHP セッションがすべてのサーバーで利用可能であることを確認することは問題ではなく、データベースまたは memcached セッション ハンドラーを設定する必要はありません。Zend Server セッション マネージャーを使用して、サーバーがダウンすると、そのサーバーで作成されたセッション データは他のユーザーが利用できるようになります。

他の無料の製品を使用してこれらすべてを取得できないわけではありませんが、予算とスケジュールによっては、多くの技術的な考慮事項を合理化し、1 つの製品で管理して、複数の製品をサポートして確実に動作させることができます。サイト。それがあなたにとって価値があるなら、それは検討する価値があるかもしれません.

さらに、サポートのために追加料金を支払うことができます。私は Zend の電話サポートの経験がないので、それについてコメントすることはできませんが、誰かに手伝ってもらうオプションがあります。

于 2012-10-20T08:11:55.590 に答える
1

役立つかもしれませんが、必ずしも最良の選択肢ではありません。

バグ追跡とエラー報告の改善については、すでに何を持っているかによって大きく異なります。メカニックを長い間使用していて慣れている場合、通常、変更すると何らかの問題や遅延が発生します。さらに、メカニックは非常に優れたものになる可能性があります。

スコアについては、ファイルの使用履歴が残りますので問題ありません。

プロファイリングについても、既に行っているものによって異なります。

パフォーマンスについては、個人的には、あなたがすでに言及したことと優れたプログラミング手法を使用する方がはるかに優れているとは思いません。スクリプトのマイクロベンチマークについて話しているのではなく、ループの適切な使用、設定していないものの設定解除について話しているのではありませんサイクルの回避、ファイルや外部リソースの二重チェックの回避など。

ローカル テストで大幅な改善が見つかった場合は、それを使用するか、時間を取ってレポートを分析し、より良いコード、キャッシュの使用、より良い .htaccess、ヘッダーの使用、またはゼンドを使用。

于 2012-10-20T07:44:28.913 に答える