2つの警告:このパフォーマンスは中毒性があります。すべてのビットを絞る、あなたはもっとしたい。 英語は私の第二言語なので、間違いがあれば教えてください。Nginx Fastcgi_cacheのパフォーマンス - ディスクキャッシュのVS tmpfsキャッシュされたVSスタティックファイル
とにかく私はさまざまなシナリオでのワードプレスのウェブサイトのnginxのパフォーマンスを比較していると何か変わったようです。だから私はここにあなたと共有し、おそらく私の期待を調整するために来ています。
Software
# NGINX 1.4.2-1~dotdeb.1
# PHP5-CGI 5.4.20-1~dotdeb.1
# PHP-FPM 5.4.20-1~dotdeb.1
# MYSQL Server 5.5.31+dfsg-0+wheezy1
# MYSQL Tuner 1.2.0-1
# APC opcode 3.1.13-1
これはEC2スモールインスタンスです。 すべてのテストは、2分間のSIEGE 40同時リクエストを使用して実行されました。 すべてのテストはlocalhost> localhostから行われました。
シナリオ1 - TMPFSにfastcgi_cacheを経由して、キャッシュされたURL(MEMORY)
SIEGE -c 40 -b -t120s 'http://www.joaodedeus.com.br/quero-visitar/abadiania-go'
Transactions: 1403 hits
Availability: 100.00 %
Elapsed time: 119.46 secs
Data transferred: 14.80 MB
Response time: 3.36 secs
Transaction rate: 11.74 trans/sec
Throughput: 0.12 MB/sec
Concurrency: 39.42
Successful transactions: 1403
Failed transactions: 0
Longest transaction: 4.43
Shortest transaction: 1.38
シナリオ2 - 同じURLディスクにfastcgi_cacheを経由して、キャッシュされました(ストレージoninstance EC2 - エフェメラル)ここで、Fiの
Transactions: 1407 hits
Availability: 100.00 %
Elapsed time: 119.13 secs
Data transferred: 14.84 MB
Response time: 3.33 secs
Transaction rate: 11.81 trans/sec
Throughput: 0.12 MB/sec
Concurrency: 39.34
Successful transactions: 1407
Failed transactions: 0
Longest transaction: 4.40
Shortest transaction: 0.88
ここであり最初の質問が出てきます。ディスクへのラムの大きな違いはわかりません。それは普通ですか?つまり、RAMキャッシュの使用に大きなメリットはありません。
シナリオ3 - 同じページ、nginxの
Transactions: 1799 hits
Availability: 100.00 %
Elapsed time: 120.00 secs
Data transferred: 25.33 MB
Response time: 2.65 secs
Transaction rate: 14.99 trans/sec
Throughput: 0.21 MB/sec
Concurrency: 39.66
Successful transactions: 1799
Failed transactions: 0
Longest transaction: 5.21
Shortest transaction: 1.30
で.htmlを、サーバとして保存は、ここでの主な質問です。これは大きな違いです。つまり、キャッシュから提供されているAFAIKは、静的な.htmlファイルを提供するほど速くなるはずです。つまり、nginxは場所のキャッシュルールがあると見て、キャッシュされたバージョンがあると見て、それを提供します。なぜそんなに違いがあるの?
キャッシュは細かい
35449 -
10835 HIT
1156 MISS
1074 BYPASS
100 EXPIRED
敬具を進めています。ここで
マキシムはnginxメーリングリストでこれを整理する手助けをしました。私のgzippingを飛ばすことは、すべてのCPUを食べていたことが分かります。彼はgzip_staticを使って私に正しい方向を指摘しました。それはあなたが余分なCPUを持っていない限り、多くのシムユーザーは、高いgzipのcompレベルを使用しないでください。貯蓄はそれに値するものではありません。 gzipをpre-gzipして静的に使用すると、タイムスタンプのファイルに注意を払う必要があります.gzipではなく、同じタイムスタンプを持つ必要があります。これが最善の方法です。 – ddutra
@ddutraこれらのアドバイスに従うと、テストの結果はどうなりましたか?彼らは重要な結果を思いついたか? – Zhianc
@ddutra任意の情報が私を助けます –