Joomler!.net - Decided on Joomla!

Wiki or Wordpress? No it is JContentPlus.

 

Archives

Blog

Demo

Home » Blog » 対策
0 votes
Written by:Joomler! 6592 hits Tuesday, 17 November 2009 08:19

朝起きたらこのサイトがSQLのエラーを吐いて見られないじゃないですか・・・。#__session テーブルが壊れたようです。

もし、あなたのJoomla! サイトで、こういう事があっても慌てる必要はありません。

対応

  1. phpMyAdminを開
  2. #__session(jos_session)テーブルを開く
  3. 操作(Operations)を開く
  4. 修復(Repair table)します。または、空にする。

これで復旧します。

 
2 votes
Written by:Joomler! 9014 hits Monday, 10 November 2008 17:23

1週間くらい前からだろうか、次のバージョンのJBackup(早くしなきゃ)の最終テストとしながら、ダミー記事20,000タイトル(1タイトル、2000ワード。SQLデータで260MBにもなる。)をテスト用Joomla!1.5に入れ何度もテストを行っています。ところが、何度やってもなかなかサイトが表示されない。おかしい。あまりにも遅い(表示に5分以上かかる)のでプラグインをオフにしてみた。・・・でも、遅いではないか。えっ!これってJoomla!の限界!?

20,000タイトルごときで、と思う方もいるかもしれない。・・・まあ、20,000タイトルなんてそんなサイトなかなか無いと思うが、記事としてではなく、データとして20,000以上あるものは、ざらにあるのではないか。

そこで、何が原因か少し設定を変えて試してみた。

  • 全モジュール(メインメニュー以外オフ)

あら、あっさりと、速くなったではないか・・・。そこで一つずつオフにしたモジュールをオンにしていった。で、オンにしたら極端に遅くなったモジュールを列挙。

  • mod_latestnews
    ちなみにこのモジュールの入り口から出口までの所要時間は、なんと104秒もかかりました。
  • mod_mostread
    これもほぼ同じです。

対策を考えて、そしてその対策を行った結果、104秒かかっていた処理時間が、1秒になった。なんと104分の1です。んだこれ。mod_latestnewsもmod_mostreadも同様なので208秒(3分28秒)くらいかかっていた時間が、2秒です。3分もサイトが表示されるのを待っている人なんてクリックしてから、「ご飯だよ~。」と呼ばれた人くらいのものだ。

で、その対策は以下

$query = 'SELECT a.*,' .

$query = 'SELECT a.title, a.access, a.sectionid,' .

のように変更するだけです。

念のため、phpMyAdminでも変更前のクエリで実行してみたらほぼ同じように104秒前後の結果でした。

クエリは、必要なフィールドだけにしましょう。(気をつけようっと)

これってJoomla!1.5(もしかしたらうちの1.0.xも・・)を使っている方すべてに言えることなのでこの対策をするだけで少しはみなさんのサイトも速くなるかもしれませんね。しかし、もっと効率の良い方法が、無いものなのか考えどころですね。もっとHackしてしまったらもう少し速くなると思いますが、Hackする部分が多くなってしまいますのでこのあたりにしておきます。

 

JContentPlus for Joomla!1.5 powered by Joomler!.net

joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.