* ログイン   * ユーザー登録 * FAQ    * 検索
現在時刻 - 2010年2月09日(火) 9:17 am

All times are UTC + 9 hours




新しいトピックを投稿する トピックへ返信する  [ 11 件の記事 ] 
作成者 メッセージ
 記事の件名: サイトが激重。異常なクエリ数。 問題個所追跡方法につきまして
投稿記事Posted: 2008年10月31日(金) 1:41 am 
お忙しいところ、こちらの投稿に目を通して頂きましてありがとうございます。

とあるzencartサイトが重いので原因を調査しています。
判っている事は、
v1.2xで、かなりのカスタマイズをかけています。
①サイト全体が重い
②product_listingにleft join も含めて4つのテーブルをリレーションして
 クエリを行っている個所があり、ここの処理は重そうです。
具体的には、zen_products_to_categories からカテゴリIDに対応する
 product_idを全て取得し、zen_product , zen_product_discription
ともう一つのテーブルをleft joinし、3つのテーブルからデータを取得する作業を
 1クエリで行っています。

③Parse Time: 1.309 - Number of Queries: 2501 - Query Time: 0.925135765991
product_listingのページで上記のクエリ数が発生していて異常と思われます。
他のページでも平均1000回を越えていて、サイト全体で無駄なクエリを多数行っている印象があります。

推測
②の処理は若干重そうだけど、全体に影響を与えるほどかは疑問。
カテゴリIDに対応するproduct_id全てに対してforeachで処理を都度対応した
場合とどちらが速いか?1クエリの負荷の方が軽いケースもあるかもしれません。
現在、コード変更して調査中です。
 
③クエリ回数がどこで多くなってるのか追跡が間に合いません。
 classes/db/mysqlのquery_factory.phpのfunction Executeに対して
 $zc_sqlを全てerror_logしてみるのが定石でしょうか?

 可能性としてはDBの処理としては一回で済むものを無駄に複数回行っている、
 ですが、クエリ回数はサイト全体で多いので枝葉の一部分の変更によるものでは
 なさそうです。
 全てのクエリに対して同じ処理を無駄に重複して行っているようにも見えるのですが、どこが原因だかわかりません。
 
 もしヒント等いただければ幸いです。
 よろしくお願いいたします。


この記事をリポートする
トップへ
  
引用付きで返信する  
 記事の件名: Re: サイトが激重。異常なクエリ数。 問題個所追跡方法につきまして
投稿記事Posted: 2008年10月31日(金) 10:43 am 
オフライン
アバター

登録日時: 2005年9月27日(火) 1:30 pm
記事: 1491
所在地: 大阪府大阪市天王寺区上本町
こんにちわ。kimonoです :)
出来ましたら、早急に1.3系に移行することをお奨めいたします。
1.3系にするだけで相当のスピードアップが見込めます。
後は、1.3系を見習って、indexを貼ることでしょうか?
以前の私の記事などで、当時対応していたのが見れると思います。
ただ、出来るなら早く1.3系にすることはセキュリティなどの面からも、またテンプレートのxhml化などの面からも、得することは多いので、お勧めしますが :wink:

_________________
☆☆☆CMS専用高速レンタルサーバー、テンプレート配布、独自SSL、各種決済代行、各種カスタマイズしてます☆☆☆
会社サイト XOOPS&ZOX、Zen Cart、アフェリエイト、マルチサイト
http://www.obitastar.co.jp/
http://server.obitastar.co.jp/
http://template.obitastar.co.jp/
運営サイト(着物) Zen Cart
http://www.online-kimono.jp/


この記事をリポートする
トップへ
 プロフィール  
引用付きで返信する  
 記事の件名: Re: サイトが激重。異常なクエリ数。 問題個所追跡方法につきまして
投稿記事Posted: 2008年10月31日(金) 11:39 am 
はじめまして^^kinomoさん。お返事頂きましてありがとうございます。

kimono さんが書きました:
こんにちわ。kimonoです :)
>出来ましたら、早急に1.3系に移行することをお奨めいたします。
>1.3系にするだけで相当のスピードアップが見込めます。

ああ、1.2自体が重いんですねφ(。。)勉強になります。

>後は、1.3系を見習って、indexを貼ることでしょうか?

なるほど!
ありがとうございます。ちょっと試してみたいと思います。

>以前の私の記事などで、当時対応していたのが見れると思います。
>ただ、出来るなら早く1.3系にすることはセキュリティなどの面からも、またテンプレー>トのxhml化などの面からも、得することは多いので、お勧めしますが :wink:


そうですか~。アドバイスありがとうございます。
カスタマイズのかけ方が凄いのですが、私もそっちのほうがいいようなきがしてきました。
主と相談してみます^^。
今回は緊急案件でしたので、次回にむけて提案という形になるかもしれませんが^^
お返事真にありがとうございます。


この記事をリポートする
トップへ
  
引用付きで返信する  
 記事の件名: 問題一部解決しました。 速度が格段に向上しました。
投稿記事Posted: 2008年11月01日(土) 5:01 am 
kimono様。
今回は素早く的確なアドバイスを頂きましてありがとうございました。

kimonoさんの過去の投稿より(物凄い投稿数ですね!)
「XREAサーバでインストールしたのですが、表示が異常に遅いです。」
viewtopic.php?f=1&t=3835&hilit=+%E9%80%9F%E5%BA%A6

[quote="kimono"]こんにちわ。kimonoです :)
一般設定>画像の設定>画像サイズを計算するがtrueになってますと、恐ろしく時間がかかる場合があります。
あとカテゴリ内の商品数を表示させても時間がかかる場合もあります。

categoree tree の select count(*) each categories処理をスキップした結果
(管理画面>一般設定>カテゴリの商品数を表示する>trueからfalseへ変更)
した結果、かなり速度が向上しました。

この設定は、サイドボックスが表示されるページの大部分で実行され、trueの場合
クエリが「カテゴリ数×3~5?」分のクエリが「ほぼどのページアクセスにも発行される」
ようで、カットした結果、クエリータイム比で1/4,クエリー数比でも同程度の
負荷を削減できました。
体感的に劇的な変化でしたので、主も驚いて喜んでくれています。

もともと、プロファイル段階で怪しいと睨んでいた部分でして、
管理画面のクリック一発で対応できるとのkimonoさんの記事で処理スキップが
効果的であると確信できました。
画像の設定についても、効果があったようです。
kimonoさんのほかの記事も是非参考にさせていただきます。
今回はありがとうございました。


この記事をリポートする
トップへ
  
引用付きで返信する  
 記事の件名: Re: サイトが激重。異常なクエリ数。 問題個所追跡方法につきまして
投稿記事Posted: 2008年11月01日(土) 6:40 am 
オフライン

登録日時: 2008年5月11日(日) 4:03 pm
記事: 162
所在地: 滋賀県草津市
ここの掲示板で紹介されたのですが、

http://www.flatz.jp/archives/91

を見て少し表示速度上がった気がします。

登録商品数15000・50000のサイトを運営していますが、今のところまぁまぁな表示速度ですよ。

_________________
〜〜〜〜〜〜〜〜〜〜〜〜〜
激安工具通販
http://www.koto-tool.com
100円の商品でも送料無料
http://www.esco.koto-tool.com
zencart向け擬似ショッピングモール
http://www.affiliate.koto-tool.com

Zen Cart 1.3.0.2-l10n-jp-4
サーバOS: Linux 2.6.22-4-amd64
PHP バージョン: 5.2.0-8
データベース: MySQL 5.0.32
〜〜〜〜〜〜〜〜〜〜〜〜〜


この記事をリポートする
トップへ
 プロフィール  
引用付きで返信する  
 記事の件名: zencartサイト表示速度が遅い場合の対応策。スピードアップ。
投稿記事Posted: 2008年11月01日(土) 11:53 pm 
koto-toolさん、お返事ありがとうございました。


>ここの掲示板で紹介されたのですが、

>http://www.flatz.jp/archives/91

>を見て少し表示速度上がった気がします。

ありがとうございます。
こちらの記事は、私のプロファイリングと大体同じ内容でした。

DBキャッシュをtrueにする。
価格情報取得>zen_get_products_display_priceを外す、または独自に制作
前の商品・次の商品 これははじめて知りました。
indexの追加

私の印象では、カテゴリの商品数表示のfalse化、価格情報取得の不使用、
または関数独自作成が、クエリ発行回数からしてみても、
速度改善の2TOPに思えます。その上で
キャッシュの利用及びINDEXの追加によるチューンが効くと思うのですが、

カテゴリ商品表示とzen_get_products_display_priceのズサンな設計は
ちょっと呆れました。商品数やカテゴリ数によって爆発的にmysqlの負荷が増えるようになっています。
v1.2は自分的にはβ扱いですねこりゃ。
300以上のcount(category)リクエストを見てコーヒー吹きました。

何はともあれ、ご指摘ありがとうございます。

もし、速度向上に関する情報等ございましたらどなた様でもこちらにご連絡頂ければ幸いです。


この記事をリポートする
トップへ
  
引用付きで返信する  
 記事の件名: ここを読んでやってみました。軽いです
投稿記事Posted: 2009年2月09日(月) 10:30 pm 
オフライン
アバター

登録日時: 2008年6月26日(木) 12:57 pm
記事: 54
所在地: 大阪府高槻市
すでに1.3を使っています。
プログラムまでさわる勇気なかったのですが、
画像サイズを計算というのをfalseにしたら確かに軽くなった気がします。

ただ、拡大表示をクリックしたら、実際より小さく表示されてしまいます。

そこで勇気を出して最少画像の縦横のサイズをautoにしてみました。

エラーは今のところ出ていません。

いい感じのような気がします。

_________________
今日も勉強しました!”
登れない山はない
http://yumisaiki.blogspot.com/


最後に編集したユーザー さいきゆみ [ 2009年2月10日(火) 6:17 pm ], 累計 1 回

この記事をリポートする
トップへ
 プロフィール  
引用付きで返信する  
 記事の件名: Re: zencartサイト表示速度が遅い場合の対応策。スピードアップ。
投稿記事Posted: 2009年2月10日(火) 7:41 am 
オフライン
アバター

登録日時: 2005年5月15日(日) 7:39 pm
記事: 893
所在地: 京都
ゲスト さんが書きました:
キャッシュの利用及びINDEXの追加によるチューンが効くと思うのですが、

カテゴリ商品表示とzen_get_products_display_priceのズサンな設計は
ちょっと呆れました。商品数やカテゴリ数によって爆発的にmysqlの負荷が増えるようになっています。
v1.2は自分的にはβ扱いですねこりゃ。
300以上のcount(category)リクエストを見てコーヒー吹きました。


MySQLのクエリーキャッシュの設定を有効にするだけでも
劇的に上がりますが

http://zen-cart.jp/bbs/viewtopic.php?f=2&t=3311&p=16307&hilit=SQL+INDEX#p16307

1.2時代に INDEXの追加のSQLを投稿していた記事が有ったので
参考にして見て下さい。

管理画面の sqlpatch で実行すればいい筈です。

_________________
-----
木下 敏夫
http://www.tktools.jp/

大阪府産業デザインセンターデザイン専門員 ( http://bmb.oidc.jp/index.php?topic=-m-D14 )
奥様ショップ 店長 ( http://okusama-shop.com/ )
電脳ドロップシッピング 店長 ( http://d-064.d-shipping.net/ )


この記事をリポートする
トップへ
 プロフィール  
引用付きで返信する  
 記事の件名: Re: zencartサイト表示速度が遅い場合の対応策。スピードアップ。
投稿記事Posted: 2009年2月10日(火) 8:00 am 
オフライン
アバター

登録日時: 2005年5月15日(日) 7:39 pm
記事: 893
所在地: 京都
木下です。

それ以外のチューニングとしては
http://zen-cart.jp/bbs/viewtopic.php?f=4&t=2218&p=11753&hilit=mysql+query#p11753

それ以外は apache の設定で keepalive を On にして
その代わりに kieepalive の timeout を 1 にするとか
http://zen-cart.jp/bbs/viewtopic.php?f=7&t=3928&p=19212&hilit=apache+keep#p19212

サーバーの管理権限があれば1.2でも可也の高速化は可能ですが
根本的には1.3にするほうがいいと思います。

でも、もう直ぐ2.0が出るようでその場合可也の修正を行わないと
既存のカスタマイズは動作しないようなので、今の時期なら
外部に依頼してVerUPする必要があるのならそこまで待つ
というのも検討の候補に上げた方がいいかも。

_________________
-----
木下 敏夫
http://www.tktools.jp/

大阪府産業デザインセンターデザイン専門員 ( http://bmb.oidc.jp/index.php?topic=-m-D14 )
奥様ショップ 店長 ( http://okusama-shop.com/ )
電脳ドロップシッピング 店長 ( http://d-064.d-shipping.net/ )


この記事をリポートする
トップへ
 プロフィール  
引用付きで返信する  
 記事の件名: Re: サイトが激重。異常なクエリ数。 問題個所追跡方法につきまして
投稿記事Posted: 2009年2月24日(火) 11:38 am 
オフライン
アバター

登録日時: 2006年9月04日(月) 12:53 pm
記事: 313
所在地: 静岡県静岡市
mmochiです。

ちょっと面白いモジュールを見つけました。
ZenCartはインストール時にsqlキャッシュを使うか否かの設定が出来ますが、選択肢は3つあります。

・なし
・ファイル
・DB

ファイルの場合でもDBの場合でもそれぞれにアクセスするIOが発生するわけですが、このキャッシュをメモリ上に格納するモジュールがあります。

#1.2には対応していないのですがトピック名にはバージョンに関する記載が無いのでここに書いておこうかと。

で、肝心のモジュールですが本家で公開されている Query Cache というものです。
http://www.zen-cart.com/index.php?main_page=product_contrib_info&cPath=40_47&products_id=1233

私のブログでも取り上げましたがかなりの高速化が図れました。
DBにキャッシュする場合と比較して、発行するクエリ数は半分以下になりました。
説明文でもそう謳われていますが実測で確認しました。
http://www.andplus.net/index.php?itemid=601&catid=36

クエリの改善や、mysqlのチューニングが出来ない方には重宝するのではないかと思います。

_________________
mmochi@オフィスあんどぷらす [ZenCartカスタマイズ請け負ってます]
えぇ商いどっと混む http://www.a-akinai.com/ (モジュール販売、海外モジュール紹介etc)
ブログ http://www.andplus.net/index.php?blogid=2
オフィスあんどぷらす http://www.andplus.net/
ビジスケ http://www.bijisuke.com/ (コーポレートサイト構築CMSのASP)


この記事をリポートする
トップへ
 プロフィール  
引用付きで返信する  
 記事の件名: Re: サイトが激重。異常なクエリ数。 問題個所追跡方法につきまして
投稿記事Posted: 2009年2月24日(火) 12:42 pm 
オフライン
アバター

登録日時: 2005年9月27日(火) 1:30 pm
記事: 1491
所在地: 大阪府大阪市天王寺区上本町
こんにちわ。kimonoです :)
これはこれは!
いい情報大変有難うございますm(__)m
うちでも今度実験してみようと思います><

ちなみに、うちのサーバーは、mysqlのチューニングも行なっているので、ぶつかってしまう可能性もあるかもしれないですね><

_________________
☆☆☆CMS専用高速レンタルサーバー、テンプレート配布、独自SSL、各種決済代行、各種カスタマイズしてます☆☆☆
会社サイト XOOPS&ZOX、Zen Cart、アフェリエイト、マルチサイト
http://www.obitastar.co.jp/
http://server.obitastar.co.jp/
http://template.obitastar.co.jp/
運営サイト(着物) Zen Cart
http://www.online-kimono.jp/


この記事をリポートする
トップへ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 11 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: Yahoo [Bot] & ゲスト[3人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Translated to Japanese principally by ocean