それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

nginx の fastcgi_cache_lock が便利

nginx → php-fpm への同時リクエスト数制御

nginx の設定をしていて 負荷をかけたときに、nginx → php-fpm へ同じURLのリクエストが1本しか飛ばないので不思議だった。

fastcgi_cache_lock

fastcgi_cache_lock

When enabled, only one request at a time will be allowed to populate a new cache element

nginx から fcgi で キャッシュをしていると、複数同時に、リクエストが来ても最初の一発でキャッシュが生成されるまで、次のリクエストのレスポンスは待たされる。

なるほどね。キャッシュが生成リクエストを絞ってくれるのでこれはいいな。

大量に画像を生成してインデックスしてくれるので写真のアルバム系アプリやブログ系など、ユーザーごとに内容が変わらなくて、かつ生成に時間がかかるものはとっても負荷がおちるし、作成も同時接続数を考えずにバンバンリクエスト投げればいいっていうHTTPの根本をいじらなくていいのは素敵だと思った。

参考資料

http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_cache_lock_age