WEBサーバーnginxのキャッシュで失敗した設定 proxy_cache fastcgi_temp
みなさん、こんにちは武智建樹です。
最近、暇があればnginxをポチポチ触っていろいろな設定を自分の目で見て楽しんでいます。
さて、今回はnginxのキャッシュに挑戦してみました。
wordpressの高速化!キャッシュについてのアレコレを参考に
バックグラウンドにapacheを使用したproxy_cacheや、php-fpmを使用したfastcgi_tempを
試してみました。
今までキャッシュファイルを作成するキャッシュ方法はあまり好きではありませんでした。
(ディスクアクセスによる遅延が発生しそうなので・・・)
ので、ついでにHDD・SSD?より高速なメモリディスクを利用したキャッシュ設定を試してみました。
最近のLinux OSでは、標準でメモリディスクが設定されているのかな?
tmpfs /dev/shm
デフォルトの/dev/shmをそのままnginxのキャッシュ置場として設定してもいいのですが
nginxのキャッシュを一瞬で削除したりしたいので、他のシステムのファイルが混合しないように
nginx専用のtmpfsを新しく作成しました。
/etc/fstab
------------------------------
↓ 追加
tmpfs /var/cache/nginx tmpfs defaults,noatime,mode=1777,size=256m 0 0
------------------------------
特に難しい設定もなくproxy_cacheやfastcgi_tempフォルダに、各キャッシュファイルがどんどん作成されていきます。
ブラウザーで確認してみると、数100倍くらいレスポンスが良くなっているのを確認できます。
しばらく様子を見ていると、ページが真っ白になって何も表示されない不具合に遭遇。あれ?
エラーファイルを確認すると、キャッシュが作成できないエラーが大量発生中・・・
なるほど!ディスクの空き容量がなくなると、古いファイルから自動で削除されるものだと
思っていました。(都合良すぎです。nginxに関係ないですもんね)
sizeを%で設定した方が良いのかな?
大容量のメモリーを搭載しているサーバーなら数GBを設定しておけば良いし
サイトのページ数(ボリューム)とキャッシュの有効期限を調整してみるのもいいかもしれませんね。
関連記事
PHPだけでは無い!Perl CGIも実行ユーザーがWEBサーバーのユーザーだった件
知り合いのデザイン会社から、サーバーを移行したいと友達依頼(無償)で気軽に受けてしまった。 以前はどこかのシステム会社に依頼を指定たらしく、それがよくある話のアレコレで どうにも行かなくなったので、今回古くなったOSとと […]
nginxのパフォーマンスと互角になる?Apacheをworkerでチューニングする
標準のapacheのpreforkはプロセスで動作するのに対して、nginxと同じスレッドで動作するworkerでは 結局同じ程度のパフォーマンスになるのかな? 実際に自分の目で確かめるために、Apacheをworker […]
WordPress高速化プラグイン Jetpackで使わない機能を停止・無効にする方法
Wordpressの本家が公開しているWordpressのプラグインパックJetpackはいろんな機能があってとても便利です。 ちょっとしたカスタマイズから、本格的な機能拡張まで 随時新しい機能が追加されていて、インスト […]
格安SIM(MVNO)をWifiモバイルルーターとして利用するおすすめ設定
前回、格安SIM(MVNO)をWifiモバイルルーターとして利用してみて、1日で利用制限になってしまった失敗と対策を投稿しました。 ただ、全てのアプリの自動更新を停止してしまうと、定期的に手動でアプリのアップデートを行わ […]
gopro studio 2が起動時にエラーが発生しソフトが全く起動しない
最近、基本を勉強するためにいろいろな付属ソフト、設定などを試しています。 何気に気になっているところは YoutubeにアップロードされているGoproの動画(公式チャンネル)です。 最近、Goproのカメラを使うことが […]
Googleサーバーのダウンで日常生活ができなる日が来る?ログインできない!
どうやら本日日本時間4時頃に50分程度、Googleのサーバーがダウンしたようです。 GmailやGoogle ドライブの利用などその他複数のサービスが 利用できない状況だったらしい。 Googleの認証系サーバーがダウ […]