Articles Comments

ちからの備忘録的日記 » cache, wordpress » 高負荷対策のための Varnish と WordPress

高負荷対策のための Varnish と WordPress




Varnish の公式Wiki に WordPress の高負荷対策についての記事がありましたので、ご紹介です。

» For The Impatient: Preparing Varnish/Wordpress? for a Slashdotting in 60 seconds or less…

VarnishAndWordpress

  1. WordPress本体以外のすべての cookie を無効にする。
  2. 可能な限り WordPress のプラグインを無効かする。
  3. WP-Cache 2 のようなキャッシュプラグインを利用する。
  4. varnishstat を利用して、キャッシュのヒット数を確認する

上記対策を実施しても、キャッシュのヒット数、キャッシュミス数が低く、かつリクエストが急激に増えている状態の場合は、 cookie 以外の何かが原因でキャッシュできないコンテンツが生成されているため、Varnishi の効果は薄い。

また上記対策を実施しても、キャッシュのヒット数、キャッシュミス数が高い場合は、様々なコンテンツへのリクエストを受けていたり、コンテンツがまだメモリにキャッシュされていない状態の可能性が高い。

参考

Varnish の VCL で、cookie を無効化する方法もありましたので、ご紹介。

全部の Cookie 無効化

# Drop any cookies sent to WordPress.
sub vcl_recv {
    unset req.http.cookie;
}

# Drop any cookies WordPress tries to send back to the client.
sub vcl_fetch {
    unset obj.http.set-cookie;
}

ログイン・管理画面以外の Cookie を無効化

	# Drop any cookies sent to WordPress.
sub vcl_recv {
	if (!(req.url ~ "wp-(login|admin)")) {
		unset req.http.cookie;
	}
}
	
# Drop any cookies WordPress tries to send back to the client.
sub vcl_fetch {
	if (!(req.url ~ "wp-(login|admin)")) {
		unset obj.http.set-cookie;
	}
}
Related Posts Plugin for WordPress, Blogger...

Filed under: cache, wordpress · Tags: , , ,

Leave a Reply

*