私は「Facebook用のPHPアプリケーションを作成しました。MySQL、Memcachedを使用し、Lighttpd on Centos 2,6 Ghzおよび2 GBのRAMで動作します。
これは基本的に1つのPHPファイルで、最初の実行後にキャッシュされ、次回はMemcachedから直接0.8ミリ秒で提供されます。
この時間を短縮するために、さらに何ができますか?
回答:
回答№1の11あなたが0.8ミリ秒に達すると、私はあなたがより低く行くことができるかどうかわからない。
ただし、(共通のmemcachedを使用して)多数の同時要求を処理するように複数のサーバーを設定できます。限界に達したときに新しいサーバーを追加するだけで、非常に高い規模に拡張できます。
回答№2の場合は3
XDebugを実行して プロファイラ。そこには、異常な時間がかかる機能があるかどうかがわかります。
これらのログを読むプログラムを使用することをお勧めします。 kcachegrindなどのように
ところで、プロファイラー国に入っても、引き返すことはできません。
答え№3の2
あなたはhttpプロキシとロードバランスを複数のサーバに置くことができます。ほとんどのhttpプロキシはキャッシュを兼ねることができるため、アプリケーションの負荷が軽減されます。
また、ページがクライアントサイドでキャッシュ可能になるように、必ず適切なhttpヘッダーを送信してください。クライアントはキャッシュされたバージョンを再利用するため、これによってリクエスト数が減る可能性があります。
回答№4の場合は1
memcachedからデータを取得して表示するphpスクリプトがありますか。それとも、Webサーバー自体がmemcachedから直接データを取得しますか。
lighthttpdがmemcachedから直接ページを表示できるかどうかわかりませんが、nginxがngx_http_memcached_moduleに対してこのグーグルを実行できることを私は知っています。