WordPressを早めるために、サーバーサイドの設定もいじってみます。
微々たるものですが、チリツモ。
tunedを入れる
amazon linux2ではtunedが入っていないので、まずは入れる
yum install tuned
起動時の設定を入れる。
systemctl enable tuned
入れ終わったら、tunedでなにが入れられるかを見てみる。
[root@ ~]# tuned-adm list Available profiles: - balanced - General non-specialized tuned profile - desktop - Optimize for the desktop use-case - latency-performance - Optimize for deterministic performance at the cost of increased power consumption - network-latency - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance - network-throughput - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks - powersave - Optimize for low power consumption - throughput-performance - Broadly applicable tuning that provides excellent performance across a variety of common server workloads - virtual-guest - Optimize for running inside a virtual guest - virtual-host - Optimize for running KVM guests Current active profile: throughput-performance
まぁ、いろいろありますが、WordPressとして使うサーバーであれば、ディスクとネットワーク I/O のスループットのパフォーマンスを向上させるため、throughput-performanceを選択してよいかと。
設定方法は以下のように。
tuned-adm profile throughput-performance
設定している値の確認
latency-performanceの設定 標準的な遅延パフォーマンスチューニング用のサーバープロファイルです。これは、tuned と ktune の省電力メカニズムを無効にし、cpuspeed モードが performance に変更されます。各デバイスで I/O エレベーターが deadline に変更されます。cpu_dma_latency パラメーターは 0 の値 (最低の待ち時間) で登録され、可能な範囲で Power Management Quality-of-Service が電源管理の待ち時間を制限します。 + kernel.sched_min_granularity_ns (スケジューラーの最小先取り粒度) が 10 ミリ秒に設定されます。 kernel.sched_wakeup_granularity_ns (スケジューラーのウェイクアップ粒度) が 15 ミリ秒に設定されます。 vm.dirty_ratio (仮想メモリーダーティー率) が 40% に設定されます。 Transparent huge pages が使用可能になります。
中身を見てみる。
[root@ ~]# sysctl -a | grep dirty_ratio sysctl: reading key "net.ipv6.conf.all.stable_secret" sysctl: reading key "net.ipv6.conf.default.stable_secret" sysctl: reading key "net.ipv6.conf.eth0.stable_secret" sysctl: reading key "net.ipv6.conf.lo.stable_secret" vm.dirty_ratio = 40 [root@ ~]# sysctl -a | grep sched_wakeup_granularity_ns sysctl: reading key "net.ipv6.conf.all.stable_secret" sysctl: reading key "net.ipv6.conf.default.stable_secret" sysctl: reading key "net.ipv6.conf.eth0.stable_secret" sysctl: reading key "net.ipv6.conf.lo.stable_secret" kernel.sched_wakeup_granularity_ns = 15000000
ぉぉ、確かに設定どおりに。これでOSの設定もWordPress用に出来ました。もっと細かくこうしたほうがいい!ってのがあれば、詳細の値を入力するのも手ですが、ひとまずはこれで大丈夫でしょう。