年明け早々に、サーバーをダウンさせてしまいました。
このサイトのサーバーでは無く、表題のサイトのサーバーを。
アクセス過多が原因では無かったようですが、お陰でボトルネックを探る気持ちからスタート出来ました。
で、今回は一応全部終わったので総まとめ的な内容。
個人的な備忘録であり、大したコードは書かないと思うので、コードをパクりたい方はスルーな記事です。
大規模サイトにWordpressは正しかったか?
日々、情報を取得させているので現時点(2018/1/7)で約26万件のデータとなっています。
wordpressで100万件とか方もいらっしゃるようですので、そーいった方々と比べると規模は小さいですが、僕にとっては現時点でも十分な規模です。
一日1件のブログを書いたとしても、1年で365件。
10年でも3650件ですから、10万件とかになる時点で“ブログ”では無くなり、それをブログ主体のCMSでどーなんだ?という気持ちは常にあります。
メリットは?
1つは、数多く用意された関数群。
これはかなり便利。
一種のフレームワークのように使えるワケで、相当な時短になるのが最大のメリットだと思う。
2つ目は管理画面。
現時点ではコアに手を入れて無いので、管理画面である程度の操作が出来る。
少し前のアップデートで、テーマファイルの編集が見やすくなったので地味に便利だったりする。
ただ、記事数が多くなると使えないプラグインがかなり多くなる為、『プラグインを使って何かする』みたいな拡張性は かなり削がれてしまう。
厳密に言えば、“使えない”ではなく、“考慮されてない”といった感じかな?
データベースの使い方次第だけど、wp_postsにデータの大半を集約すると、記事に対して何かするようなプラグインはホトンド使えないと思ったほうが良いと思う。
変なクリエが発生すると遅くてどうにもならない。
ただ、何十万件とかのサイトを作る人は、プラグイン無しでも大して問題にはならないと思うのでデメリットは然程感じない。
それ以上に組み込また関数群による時短のメリットのが大きいと個人的には思います。
デメリットは?
便利さの代償ではあるけどWordpressに依存する結果、本体のアップデート時に正常に動かなくなる可能性がある事が一番のデメリットだと思う。
廃止されたり、変更になったりした関数があると修正が必要になるから、放置というワケにも行かない。
特に大きな変更がある場合は、若干戦々恐々。
数少ないとは言え、面倒臭がってプラグインを使ったトコロもあるので、それらも同様。
つい最近も、プラグインを使っていた個所がアップデートの影響で動いてなかった…。
当然重要でも無い部分だったので影響は小さいけど、やっぱり放置というワケにはいかない。
この辺はwordpressに限らず、何かしらのシステムに依存する限り付きまとう問題で、
『それなら全部自分で作るのか?』
となると、それはそれで微妙なので難しいと思う。
動作に関して
普通にデータをぶっこんだら重くてタイムアウトする事もあると思うけど、データベースの構造を見直して、SQL文も変えてしまえば割と普通に動きます。
ただ、出来るだけデータベースに接続しないように気を使っている。
正しい判断か分からないけど、常に動的である必要が無い個所はHTML構築後、データベース保存では無くファイルで出力してインクルードさせる事にした。
部分的なスーパーキャッシュみたいな感じ。
本当は期限が切れたら、ajaxで作ってしまうように書き直せば常にレスポンス良くなるんだけど、コード書くのが面倒で期限が切れた時はレスポンスが悪い・・・。
この辺は相当退屈な時に修正しようと思う。
まとめ
過去にも同様の事を書いている気もするけど、総まとめなので・・・。
結局正しかったかは全く分かりませんが、現時点では然程問題点はありません。
つい最近のネットNewsでホワイトハウスのHPにwordpressが採用になるとありました。
正直なトコロ、世の中はwordpressから別のシステムに切り替わって行くほうが早い と僕は思っていましたが、逆なのかも知れませんね。
こーゆー事を機に、更に開発が加速しもっと変わって行くのかも知れません。
ただ、それに伴ってメンテナンスを入れたりチェックしなければ行けない可能性も大なり小なりあるワケで、そーなるとナカナカ微妙であります。
結局のところ収益性と手間の度合いのバランス次第なんだけど、公開しても収益への結びつきが悪いようならローカル上で自分にとって必要な情報のみ取るようにしたほうが結果的に良いワケですから、サイトが消えたら失敗という事ですね。
ではでは