Notoも書いてなければBlogも書いていないのですがTwitterとDiscordには生息しているりっくんです。

去年の2月にこんな記事を書いていました。

「移植」って表現が正しいか?とは思っていますが、記事の中に書いてあるとおり少し表示が遅かったりいい加減WordPressに固執する必要も無いので今どきっぽい感じにしてもいいかも?という内容を書いた記憶があります。

移行したい記事書いたかのサマリー

  • 環境がSAKURAのVPS メモリー2GBプランでその上にKusanagiのDockerコンテナを建てている構成
  • Nginx+PHP-FPM+MariaDB
  • やけにアクセスに時間がかかっていて、メモリー使用量がやばかったから原因はメモリーかなと思っていた
  • ついでに、AWS Lightsailの4GBプランを移行用に契約までした

しなくていいかもの経緯

ちょっと前に、Next.jsのテンプレートに、WordPressからデータをフェッチしてきて静的サイトを生成する物があると知った。
ということは、静的サイト化できるじゃないか!爆速じゃん!ということで、すごい簡単にできそうだから試してみたんだけども、「WPGraphQL」プラグインがPHPのバージョン7.2以上じゃないと動かないとエラーが出てしまった。

実際に見てみたらPHP7.0系のPHP-FPMを使っていたのと、PHP8にしたほうがいいよ!的なメッセージが書いてあったから
「まぁWordPressだしPHP8くらい動くだろ!」
と、安易な気持ちでPHP8のイメージに差し替えたらテーマとプラグインが全滅して全くアクセスできなくなってしまった。

ちょっとだけなら直そうと思ったが延々と出てくるエラーに耐えきれず、

  • PHP7.4のイメージに変更して
  • WordPressも6系までバージョンアップして動かし
  • 無事WPGraphQLをインストールして
  • 実際にNext.jsの設定をして
  • Buildして動くところまではローカルで確認した

で、Next.js自体は正常に動いたんだけど(一部、next/Image関係のエラーは吐いていたけど簡単に直せるレベル)そもそもこの辺のバージョンアップをしたらそもそものWordPressがすごい速くなってしまったんですよ。

スコアも91で良い感じ

一部対応はしたけどそれでも高速化したので、あれ、移行する必要がなくない?という感じになってしまったというのがこの記事の趣旨です。

なんで遅かったの

結局メモリーが悪いのではないかというのは自分の思い込みだったのですが、PHP-7.2にした部分は多少影響があるのかなぁというの、WordPressのバージョン上げたのは・・・あるのかなぁ。

プラグインとかもあまり入れていないので思えば異常な遅さだったのですが、これ以上は掘り下げないと思います。

まぁそもそも7.2からもっと上げないとサポート的にはよろしくないのでテーマも標準にしちゃおうかな・・・、もうBlogのデザインに対するこだわりは無くなってきたので。

Kusanagiを使っていて

別にKusanagiである必要は全然ないのですが、標準的な環境でこの速度のWordPressになるのかは少し気になっています。

ただし、Dockerで動かすことのメリットは今回非常に感じていて、試しにPHP8化できたということは今後Kusanagiがメンテされている限りはPHPのバージョンに合わせて環境を上げていくこともできるのは非常に良い環境だなと思っています。
※普通にaptとかで入れちゃうと地味にバージョンアップめんどくさいので・・・

移行も楽なので、現在はAmong UsのDiscordプレイ用Botを動かすためだけに置いてあるLightsailのサーバーは、何かの時に遊べるサーバーとして動かしっぱなしにしておく予定です。

終わりに

ということで、無事高速化を果たしたのでBlogを更新したのでした。という記事でした。