ワードプレスを軽くする方法を考えただけ

2017年08月02日  カテゴリ:雑記

今年もクーラー無しで寝ていますが、
風さえ通れば何とか大丈夫。
扇風機は体に軽く当てながら、出口に逃がすと良い。

窓を二つ開けるか、ドアを開けるか。
暑い時はそれでもダメですが、
ほとんど場合、それで深夜~朝方は涼しいです。

最初クーラー、中盤からは窓を開けて扇風機、
そんな画期的な仕組みを開発できれば素晴らしい。

まぁ、今どきは24時間換気システムですが・・・

--

コメント

サーバーに関するありがたいコメントをいただいています。
まさに自分が欲しい情報で、ありがたい。
ワードプレスの負荷削減の方向性がわかり、感謝感謝です。

しかしやはり、データベースが重いのか。。
確かに、何をやるにもデータベースに接続して情報取得。
いかにその接続数を減らせるか?が勝負か。

解決策としてはキャッシュになるのですが、
これだと完全静的になってしまい、
やりたいことが実現できなくなる。

キャッシュするものはする、
しないものはしない、それが目標。

--

考える

おそらく、記事関連を取得する負荷は重いだろう。
ここだけでもキャッシュにすると良くなるか?

都度データベースから記事データを取得するのではなく、
更新時に記事をテキストとして保存(キャッシュ)。
以後はそのテキストを読み込んで表示させると、多分速くなる。

更新した場合にどう反映させるか?ですが、
更新の際にキャッシュを消去するプログラムを作れるはず。
ワードプレスのイベントを勉強しなくては。

これにて記事の読み込みはインクルード。

--

ヘッダー

ワードプレスはヘッダーも無駄が多い。
勝手にいろいろ追加してきます。

ヘッダーの削除方法はいろいろありますが、
その方法で負荷的に軽くなるのか?がわからない。
ヘッダーの仕組みを勉強しなくては。

やはり、読み込みすらもしないことが大事。
ここは記事タイトル以外は固定で良いだろう。

記事タイトルは、記事のキャッシュの際にタイトルを変数に格納して、
その変数を使えばインクルードで済む。

--

関連記事

ここも記事と同じキャッシュ方式にすれば良いだろう。
それか、記事一覧CSVを生成し、それを利用するか。
インクルードとCSV、どちらが速いか?
これは、当然ながらインクルードか。

ランダム表示にするならCSVになるけど、
そもそもCSVだとデータベース接続と変わらないような・・・

まぁ、無難にインクルード。

--

これにて

コメント欄以外はキャッシュでの表示。
データベースの接続は、基本的な情報のみの最低限になるはず。
まぁ、その基本的なものが多そうなのですが・・・

ただ、テキストファイルの読み込みが増えるので、
どう考えても静的よりもはるかに遅くはなる。
まぁ、、、ここは妥協。

更新時のキャッシュの削除の仕方がわからないですが、
最悪はキャッシュ削除ボタンを作れば良いか。
究極はFTPやSSHで直接削除だけども。

このキャッシュの仕方だと、
アドセンスの位置だけ動的にするなど、かなり自由。

問題は、本当に負荷削減になるのかどうか?
減るのは間違いないですが、半減はしないと意味が無い。
仮環境の構築は簡単なので、まずは手動で設定してみよう。

楽しみ、すぐやりたい、
けども、平日は仕事。土日です。。

 
 
※確かに、かなり仕事に影響が出る・・・
  

パルどうSEOブログトップへ


コメント

  1. 名前:通りすがりの元サーバエンジニアのアフィリエイター :2017/08/03(木) 17:06

    結局、素のHTMLと比較しちゃうと、PHPの処理が入ると遅くなってしまうんですが、
    どれぐらいPHPの処理が間に入るかが問題なんですね。

    ルーティングやフック処理みたいなPHPだけで完結する処理ならば(APCが入ってれば)そこまで重くはないのですが、
    そこで外部プログラムにアクセスする物が入ってくるととたんに重くなります。
    httpでの1リクエストに対し、DBには数十回のアクセスが発生するからなんですね。
    なのでpvが増えれば増えるほど、DBにはその数十倍のアクセスが発生してしまう訳です。

    コンテンツ部分のDBアクセスもそうですが、それ以外にも発生してます。判りやすい所だと例えばメニューとか。
    パーマネントリンクの設定なんかもwpの設定画面でやってるので、リクエスト毎にDBアクセスが発生してるはずです。
    その他、各プラグインでもDBアクセスが発生しますので、そういうのが積み重なってDB部分に負荷が集中してしまいます。

    但し、このDBの負荷は軽減することが可能です。
    恐らく使われてると思いますが、wpのプラグインでSQLをキャッシュするものを入れることでDBアクセスを減らせます。
    それでも負荷が高いのであれば、DB側のチューニングである程度までは軽減させることもできます。
    ここら辺の情報は探せばいろいろ出てくると思うので、探してみてください。

    もっと劇的に速くしたいのであればnginxでキャッシュ使うのが手っ取り早いのですが、
    コメント欄を使われるのであれば悩みどこですよね。
    スマホアクセスの方はUA判別して個別に設定できたと思うのでそれで対応出来ると思います。
    あとはキャッシュする時間を短くするとかですかね。
    これはコメントの頻度次第なので、そこら辺から時間を割り出してみるといいかもしれません。

    全く話は変わりますが、私の場合、静的サイトだけでアフィリエイトをやっていて、
    正直言ってしまうとvpsの方はあまり弄る機会がありません。設定が固まってしまうと怖くて弄れなくなります。
    それで自宅サーバを弄る日々を過ごしているのですが、自宅サーバで色々ととんでもないことをやってます。
    アフィリエイトで一番時間がかかるのって、サイトを作る前にやる諸々の事前調査だと思うのですが、
    この部分を自動化する為のアプリケーションを作ってたりします。
    これがもう作ってて楽しくて仕方ありません(現在はPythonでやってますが、javaを勉強してるので作り変えようと思ってます)。
    自宅サーバアプリケーション開発とアフィリエイト作業の割合が8:2ぐらいになってるので正直ヤバイです。

    そのアプリケーションの中でライバルサイトの調査もやってるのですが、
    自分で作っておいて言うのも何ですが、これが秀逸というかなんというか・・・。
    あえてやり方は書きませんが(おそらく想像つくと思います)、
    ライバルサイトの搭載されているサーバと同じサーバにあるサイトを自動で洗い出してくれます。
    ほとんどがレンタルサーバなので、そのライバルサイトを作ってる人とは別の方のサイトが出てくるのですが、
    まぁ、文体やサイトの作り方の癖でその人を判別できるので、一応役に立ってます(この部分も自動化したいです)。

    こういう凶悪な物を作ってる人が世の中にどれだけいるかは判りませんが、
    vpsでアフィリエイトをやると、一発で自分のサイトが全部バレる可能性があるんだなぁ、と思ってます。
    私の場合はバレても問題ないレベルのサイトしか持ってないのでいいですが、
    パルさんの場合はそこら辺にも気をつけた方がいいと思いますよ。
    ※一応言っておきますが、パルさんのサイトの調査はしてないのでご安心くださいw

  2. 名前:パル@管理人 :2017/08/03(木) 23:01

    通りすがりさんこんばんは!

    ワードプレスはDBにそんなにアクセスしているんですね。。
    プログラマー的な視点でいくと、なんとも効率が良くないような。
    汎用性を持たせると、どうしてもそうなるのか。
    これは無料テンプレも同じですね。無駄に想定が多い。

    このあたりの制御を改造するのは厳しそうですが、
    クエリを調べるプラグインを見つけたので、
    それでボチボチ勉強してみます。

    そして、データベースのキャッシュは恥ずかしながら、
    全くやっていませんでした。。
    データベースは無知なので、恐くて手が出せていない状況です。
    いろいろ技はあるのは知っているのですが、
    とりあえず、力技で高性能なサーバーに突っ込んどけ、というレベルです。
    ここも要勉強ですね。。

    こうしてご指摘いただくと、
    いかに自分が低レベルなのかがわかります・・・
    実験用サーバーを作らねば・・・

    --

    自宅サーバーでのプログラミングは良いですね!
    自分はデータの収集が主なので、
    エクセルVBAでIEを動かすことが多いです(ログイン系の処理が簡単)。
    このためにWindowsのVPSを借りたりもしますが、
    今後は自宅サーバーでやりたいと思っています。
    その楽しさ、わかりますw

    ライバルサイトの調査ですが、
    自分も被リンク戦略を知るためにたまにやります。
    基本的に、運営しているサイトはバレますね。
    自分もかなりバレていると思いますが、そこは諦めています。
    こんなブログを運営している時点で、全公開しているのと同じです。
    アフィリエイトコード等で基本的に丸わかり。

    自分もそういうことをしているので、ちゃんと意識はしています。
    このブログもいつかはVPSにしますが、公開専用のやつを使います。
    こういう時、リバースプロキシが役立ちますね。

    なお、このブログがさくらスタンダードなのは、
    サイトバレ防止のためでもあります。
    しかもゴミサイトしか入れていないサーバーという。

    見つかるのは全然問題ないのですが、
    見つけたとしてもそっとしておいてくださいw

    関係ないと思いますが、DDOS攻撃はさすがにきつかったです。
    あれは止めてほしい。。

Copyright (c) 2017 パルどうSEOブログ All Rights Reserved.