PR

WordPress に Redis より 25 倍速いという Dragonfly を適用

chase-the-dragonfly サーバ
この記事は約4分で読めます。

※ この記事は 2024/03/29 に投稿され、 2024/03/29 に内容が更新されています

今回は WordPress のパフォーマンスを大幅に向上させる (かもしれない) 記事です。
Redis のライセンス変更に伴い、新たなキャッシュシステム Dragonfly を導入してみました。
Dragonfly への乗換えのメリットについてもご紹介します。

Redis のライセンス変更

Redis は、高速かつ効率的なデータベースキャッシュシステム (永続オブジェクトキャッシュ) として、WordPress コミュニティで広く利用されてきました。

しかし、最近のライセンス変更発表により、次期バージョンからは OSSOpen Source Software  ではなくなってしまいます
個人利用にはほぼ影響はないものの、 Redis をクラウドサービスなどで提供する場合は制限が適用されるケースが出てくることやライセンスの懸念があり、 Redis からの乗換えをおこないました。

Dragonfly への乗換え

Dragonfly とは

Dragonfly (開発元) は、 Redis の代替となるキャッシュシステムです。
Redis や Memcached は機能追加や最適化が進む一方で、開発から長い年月が経っていることもあり、どうしても設計の古さも目立ってきています。
IO / CPUをフル活用し、現代的に再設計して開発されたのがDragonfly です。

Redis / Memcached 互換な API を提供しています。

  • 全ての操作がアトミック
  • 高スループットでもミリ秒未満のスループット

Dragonfly は多くのユーザーに利用されており、信頼性と安定性にも優れています。
WordPress ユーザーにとって、これはまさに待望の解決策と言えるでしょう。

25 倍速い

Redis と比べて、 Dragonfly はなんと 25 倍も速いという触れ込みです。
3 倍速いどころではありません。25 倍速いのです。
AWS の単一インスタンスで、 1000万 を 越える QPS まで到達するそうです。

Redis-VS-Dragonfly
dragonfly/README.md at main · dragonflydb/dragonfly · GitHub

大規模サイトであれば、 Redis から乗換えることで、 WordPress のページの読込み時間が大幅に短縮され、ユーザーはよりスムーズかつ快適な体験を得ることが期待できます。
また、高速化により、ウェブサイトの SEO 的にも好影響を与えることができるでしょう。

Redis からの置換え

Ubuntu 22.04 環境です。
なお、 Dragonfly は Linux kernel 5.1 で追加された高速・効率的な I/O を実現する io_uring に依存しているため古い環境ではインストールすることができません。
リポジトリはないようなので、 deb ファイルでインストールします。

Redis を削除
sudo apt purge redis
sudo apt autopurge
Dragonfly インストール
cd /usr/local/src
wget https://dragonflydb.gateway.scarf.sh/latest/dragonfly_amd64.deb
sudo apt install ./dragonfly_amd64.deb
sudo systemctl enable dragonfly
sudo systemctl start dragonfly

Dragonfly は Redis 互換のため、 6379 ポートのまま実行されます。
入替えの場合は、 WordPress 側で設定を変更する必要はありません。

Redis Object Cache プラグインの場合
Dragonfly-with-WordPress

まとめ

Redisのライセンス変更に伴い、WordPress の永続オブジェクトキャッシュ に Dragonfly を導入しました。

速くなったのか

Redis に比べて25倍も速いという触れ込みの実力はいかがでしょうか。

永続オブジェクトキャッシュだけの話なので、さすがに 25倍速くはなりませんでしたが、前回に比べてスコアが向上していますね。
※ その他のチューニングもしてしまいましたが、 Redis のときはスコア 93 でした

大幅に速くはなりませんでしたが、 WordPress のパフォーマンスを向上させる効果はあるようです。
当サイトはまだ記事が少ないため効果がそれほどありませんでしたが、記事が多いサイトだともっと効果があると思われます。

ライセンスの懸念もありますし、 Dragonfly に乗換えてみてはいかがでしょうか。

コメント