183月
いろんなところから情報を引っ張ってマッシュアップもどきみたいなことをPHPでやってるんですが、数が増えてくるとスピードが問題になってきました。
とりあえずPEARでキャッシュしてるので、普段のスピードはそれなりなんですが、キャッシュ更新時はちょっと耐えられないんですよねぇ。
というわけで、速度のボトルネックを調べると、やはり情報を取得してる部分、要するにfile_get_contents()が遅いのがわかりました。
実際にはタイムアウトを仕込む関係で別の関数を使ったりもしてますが、いずれにしろ遅いことに変わりはないですね。
1件あたりだと0コンマ数秒なんですけどねぇ。
で、調べてみると、curlだとちょっと早いらしいので、まずはこれに変えてみますが、せいぜい2倍速くらい。
これじゃあ解決にならないなぁと思いつつ、さらに調べると、multiRequestというのがあるんですね。
要は複数のリクエストを並行して投げるものです。
これを使えばスピードは一気にcurlの4倍くらいになりました。
同時リクエスト数によっても違うと思いますが、かなり有効ですね。
既存の処理もこれで見直そうかなぁと思ってますが、サイドメニュー辺りのはそれぞれ個別に分離してるからなぁ。
どれかひとつでキャッシュ生成して、他はそのキャッシュを読むだけ、といった具合に作り替えないと難しいかもしれません。
ともあれ、マッシュアップ系の処理を書いてる方にはオススメです。(すでにご存知かもしれませんけど。)
013月
WordPressが3.1にアップデートされたので、データベースをバックアップした後、更新してみました。
結果的には特に大きな問題なく、更新できたようです。
ただ、プラグインはひとつ問題があって、これまで使っていた「DB Cache Reloaded」がエラーで使えなくなりました。
今後のバージョンアップで対応できるのかもしれませんが、それまではちょっと表示速度が低下してしまうかも。
まぁ、これまでも効果が非常に高かったわけではないんですけどね。
見た目としては、ログインしてあるとTypePadのように自サイトに管理バーが表示されるようになりました。
これはちょっと邪魔な感じがしたので、とりあえずオフに。
ちなみにオフにするにはユーザーのプロフィールのところから、「管理バーの表示」で「サイトを表示する際」のチェックをオフにすればOKです。
あとは内部リンクの作成が容易になっていたり、かなり機能アップしてるそうです。
今のところはそれほど大きな恩恵は受けてないですが、これからちょっとずつ新しい機能を試していこうかな。
192月
少し前に「ブロガーズ・ネットワーク翼」さんへのお誘いがあったので、私のような駄文で大丈夫かなぁと思いつつも、とりあえずお受けしてみることにしました。
タイトルは「いつもピンぼけ」ということで、カメラ・写真に関するコラムっぽい内容にしたいと思っています。
タイトルはカメラに詳しい方ならお気づきだと思いますが、ロバート・キャパの自伝「ちょっとピンぼけ」をパクリリスペクトしてます。
新製品とかトレンドものは、いつものブログで取り上げるので、「いつもピンぼけ」のほうでは、それとはちょっとズレたアナクロなテーマのほうが多くなるだろう、という意味合いもあったりします。
あと、普段は高頻度で更新してますが、ブロガーズ・ネットワーク翼さんは良質な新書みたいな「読み物」としての魅力にあふれたエントリがいっぱいですので、私も多少背伸びをして多少は長いコラムのような内容で、週一ペースくらいでエントリーできたらなぁと思っています。
いつものように更新情報はサイドバーにも表示してありますので、もしよかったら読んでいただけたら幸いです。
3012月
このブログにも使っているWordPressが3.0.4にバージョンアップしています。
この年末になってのバージョンアップですが、どうやらセキュリティアップデートのようです。
それもかなり大きなXSS脆弱性のようで、サニタイズ処理のバグらしいですね。
忙しい時期ではありますが、できるだけ早めにアップデートしておいたほうが安心でしょう。
うちのブログも早速アップデートしましたが、問題は何もなく完了。
仕事用のサイトのほうも念のため、更新しておきました。
プラグイン類もこの際に再確認しておいたほうが良いかもしれませんね。
308月
WordPressで人気記事をサイドメニューに表示させたいなぁと、プラグインを探してみました。
この手のプラグインは結構あるようで、PostRankやPopular Postsなどがありましたが、いちばん手軽そうな「WP-PostViews」をチョイスしました。
このプラグインだとウィジェットも拡張されるので、簡単かなぁと。
ただ、ウィジェットのカスタマイズがイマイチなんですよねぇ。
ランキング行のカスタマイズはある程度できるんですが、全体の書式を指定できないですし…。
ということで、以前使っていた「PHP Code Widget」を復活させて、ウィジェットでPHPを書いて使うことに。
これならかなり自由度が上がりますからね。
まだデータが蓄積されていないのですが、しばらく運用していけば、ちゃんとアクセス数の多いエントリーが表示されるはずです。
結果的には最初からもっと自由度の高いプラグインを選んでも良かった気もしますが、実用上はこれで十分ですし、しばらく試してみようと思います。
278月
MovableTypeからWordPressに切り替えて、最初はレンタルサーバの負荷で、ころころ移転したりと大変でしたが、さくらインターネットに引越してからはしばらく快適に運用していました。
ただ、ここ1週間くらい、急に503エラーなどが多発するようになりました。
503エラーにならない時でも、これまでよりもアクセスに時間がかかることが非常に増えたんですよねぇ。
そこで、使っていたプラグインを絞ってみたり、データベースの不要な項目を整理したりしたのですが、どうも解消されません。
エラーログを見てみると、AccessExceededNumberというのが何度か出ています。
一応サポートに問い合わせてみると、共有サーバということで、「ユーザ毎に割り振られたサーバ資源の上限に達し」たとのこと。
ただ、1ヶ月の転送量を調べてみても18GBくらいで、急にアクセス数が増えたわけでもないんですけどねぇ。
まぁ、自作PHPで色々やってるので負荷がかかってるということかも。
ということでサーバ側の対処はなかったので、自分で負荷を軽減してみることに。
まずはあまり重要でなさそうな自作PHPを一部無効にしてみました。
また、キャッシュの有効期間も少し延ばしておきました。
また、MySQLの最適化もphpMyAdminから実施しました。
追加・削除を繰り返すと重くなる可能性があるそうですしね。
あとは個別ページで一部のウィジェットを表示しないようにして、さらに自作PHPの影響を抑制しておきます。
これは以前から使ってる「TS Custom Widget」というプラグインを使いました。
これで解決してくれると良いのですが、WordPressはやっぱりサーバには負荷がかかるのかなぁ。
さすがに趣味のブログを専用サーバにするのも大げさですから、なんとか対処しつつ、過負荷が解消してくれたら良いなぁと思います。