0

I'm running Wordpress with: Nginx + PHP-FPM + APC + W3 Total Cache + PageSpeed. After 3 days researching and configuring, I succeeded to configure.

Running "top" and hitting some cached pages, it shows:

PID   USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
13387 nginx     20   0  472m  11m 4664 S 12.3  2.0   0:46.55 nginx
17577 nginx     20   0  443m  47m  29m S  0.7  8.0   0:42.88 php-fpm
17591 nginx     20   0  438m  43m  29m S  0.7  7.2   0:42.59 php-fpm
1486  mysql     20   0  851m  21m 4832 S  0.3  3.7   1:24.71 mysqld
17907 nginx     20   0  438m  48m  34m S  0.3  8.1   0:36.78 php-fpm
18065 nginx     20   0  442m  47m  29m S  0.3  8.0   0:33.49 php-fpm
18543 nginx     20   0  445m  63m  42m S  0.3 10.6   0:22.94 php-fpm
21125 root      20   0 15012 1148  868 R  0.3  0.2   0:00.86 top
1     root      20   0 19356 1388 1136 S  0.0  0.2   0:00.74 init

1) Why every request is being processed by PHP-PFM? Shouldn't W3 Total Cache supposed to prevent the request from been processed by PHP-FPM?

I know that my page is being cached because every page return in the end of HTML:

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/
Page Caching using disk: enhanced

2) If I install Varnish in front of Nginx, will it stop the request from being processed by PHP-FPM? (Performance will increase? I'm using a Micro Ec2, Ram = 613MB)

PS: The response header is returning "Cache-Control: max-age=0, no-cache" from server. I don't know if this influence W3 Caching.

My specs:

  • Amazon Micro EC2
  • Linux version 3.4.48-45.46.amzn1.x86_64 Red Hat 4.6.3-2 (I think it's based on CentOS 5)
  • PHP 5.3.26 (fpm-fcgi)
4

2 に答える 2

1

この w3 の合計キャッシュがどのように機能するかはわかりませんが、いくつかの事実を述べさせてください。

まず第一に、nginx レベルでは、どの php ページも php エンジンにヒットする必要があります。なぜなら、try_filesw3 合計キャッシュにページのある種の html キャッシュがある場合、nginx 構成に変更を加えることなく、nginx に指示するのはおそらくそれだからです。キャッシュが存在していても、php にヒットします。そして、キャッシュが実際には html の形式でない場合、おそらく php エンジンがページの存在をチェックし、代わりにページを再構築するか、キャッシュされたものを提供するかを決定します。そのため、php を実行する必要があります。違いは、データベースにはアクセスせず、何の処理も行わず、代わりにキャッシュされたページを提供するだけです。

2番目の質問、ワニス、はい、ワニスは実際には良いでしょう。キャッシュプラグインの必要性を省きますが、キャッシュされたページを消去するようワニスにいつ要求するかをワードプレスが認識していることを確認する必要があります。サーバーの構造は次のようになりますuser -> varnish -> nginx -> php、ワニスにキャッシュされたページまたはアセット(css、jsなど)がある場合、リクエストをnginxに渡さずに直接提供します。ウェブサイトで試してみたところ、キャッシュされたページの応答時間は明らかに改善されました。キャッシュなしでページ全体をリクエストすることを行いましたctrl+f5が、ページが単なる html ページであるかのように非常に高速に返されました。
あなたはまだワニスの設定をいじる必要があります、または少なくともそれは私がしたことです.それは少し学ぶ必要があるからです.私と一緒に。

于 2013-07-10T20:11:27.183 に答える