セキュリティ強度の強化と、サーバの高速化をテーマにチューニングを行います。
各項目の冒頭に私なりの導入判断基準を書いています。それを参考に皆さんの判断で導入を検討してください。
このページは、順次拡張を行っていきますので更新にご注意ください。
swap(仮想メモリ)のチューニング
他のチューニングでメモリがひっ迫しても、メモリ不足でエラーとならないよう最初にチューニングを行いましょう。
高負荷で稼働するサーバで行った保守作業が原因でメモリ不足が発生することもあります。
標準でインストールすると100MBのswapファイルが準備されています。もし、それ以上の仮想メモリが必要となった時自動的にswapファイルが拡張されます。
高負荷な状態で100MBを超えるメモリ不足が発生すると、swapファイルの拡張が発生して更に遅くなってしまいます。そうならないよう、あらかじめswapファイルを拡張しておきます。
保守作業に1GBを超える仮想メモリを使うことは考えにくいので、swapファイルを1GBに拡張します。仮想メモリのサイズはswapファイルのサイズとほぼ同じです。
下記の記事を参考に設定をしてください。
ファイアウォールの設定
「1.Raspberry PiにOSをインストール」の「8.Raspberry Pi OSに追加設定」で不要なサービスを削除をしてれば、ファイアウォールを設定しなくても大丈夫です。
ポートスキャンをかけても、開いているポートはHTTP(80)とSSH(24)だけだったので、ファイアウォールの設定までは不要かと思います。
ただ、ICMPなどのコントロールも含めセキュリティを強化するのであれば、下記の記事を参考にファイアウォールを導入してください。
このRaspberry Piにファイアウォールを入れて稼働させていたのですが、ICMPはルータで遮断されていることもあって、今は機能を停止しています。
Apache2のMPMを使用してチューニング(試行中)
非常に沢山のパソコン・スマホからアクセスがあり、Raspberry Piが高負荷になってもレスポンスが維持できるようチューニングを行います。このRaspberry Piにも暫定版で設定を行っています。
暫定版となっているのは、プロセスのメモリ使用量の試算や、効果測定の方法が難しくてまだ記事として完成していないためです。
直感的に採用すべき技術だと感じても、ブログで公開する時には根拠を以て説明が必要となり、とても難しいです。
WordPressのWP-CRONの機能停止(選択)
この機能は、WordPress自体が定期的に実行するタスクを管理する機能です。
ブラウザからのアクセスのタイミングで、実行期限の来ているタスクが無いか確認して起動しています。
意外と高頻度で実行される機能なので、サーバの負荷が高くて負荷の低減を考えられている方は方策の一つとして検討してください。
本機能を停止することで、下記の機能が使用できなくなります。また、本機能を使用するプラグインも機能が動かなくなる可能性があるのでご注意ください。
- メール投稿
- 予約投稿
- XML-Sitemap
尚、本ブログでは、カリカリのチューニングは目指していない点と、機能停止に伴うリスクの点から実施していません。
設定方法は
$ cd WordPressがインストールされているフォルダ
$ vi wp-config.php
viの超簡単な使い方は、ここを見てね
・
・ 手前省略
・
/** WP-CRONの機能を停止 **/
define('DISABLE_WP_CRON', true);
ファイルの最後に赤字の行を追加しapache2のサービスを再起動します。
$ sudo systemctl restart apache2.service
MariaDBのチューニング(工事中)
ここはまだ未着手です。