質問 > フロント機能 > 商品一覧の表示が遅い |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kaworu |
投稿日時: 2008/11/18 23:38
対応状況: 確認中
|
半人前 登録日: 2008/8/29 居住地: 投稿: 23 |
商品一覧の表示が遅い 商品点数が2000点前後のサイトを構築しております。
商品一覧の表示が30秒から遅いときには1分半ぐらいかかってしまいます。 以下の環境で運営しております。 ------------------------------------------------------------- [EC-CUBE] E2.3.2正式版 [レンタルサーバ] ラピッドサイト VPSのRV811プラン [OS] FreeBSD 6 [CPU] Intel Xeon 2.8GHz x 2(共有) [メモリ] 8GB(共有) [ディスク容量] 10G [PHP] PHPは5.2.6 [データベース] MySQL 5.0.51a [WEBサーバ] Apache [ブラウザ] 各種で確認 ----------------------------------------------------------- 商品一覧では表示させたいのは商品名と詳細画面へのリンクボタンだけで良いので、 tplを変更して画像等を表示させなくしていますが、php、SQLの知識が乏しいため呼び出しのphpファイル等に関しては変更を行っていません。 LC_Page_Products_List.php(?)ファイルのどの部分を削除(?)or変更すれば、データベースへの負担等が少ない呼び出しが可能になるのか、どうか教えて下さい。 |
homan |
投稿日時: 2008/11/19 0:06
対応状況: −−−
|
仙人 登録日: 2007/7/2 居住地: 宮崎県宮崎市 投稿: 633 |
Re: 商品一覧の表示が遅い こう言うと、元も子もないかもしれませんが、
MySQLからPostgreSQLに変えるだけで殆ど解決するかもしれません。 (2000点に耐えられるVPSプランかどうかは、プロセス数とかTOPコマンドのロードアベレージなんかで判断するとよいかもです。) ラピッドサイトのデフォルトは PostgreSQL7.4系?だったように思うのですが、VPSだったら自分で入れられると思うので、できれば8.3系にアップデートして使うと良いです。 MySQLで2系を運営していないので、 余り役に立つことはアドバイスできなくて申し訳ないですが、 参考までに。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=2971&forum=2&post_id=11487#forumpost11487
|
seasoft |
投稿日時: 2008/11/19 0:14
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品一覧の表示が遅い 当方も同じデータセンタの設備で運用しています。ラピッドを通さずに契約しているので、構成に若干の違いはあると思いますが、多分サーバラックはお隣さんといった感じでしょうね。
多分、ラピッドさんも PostgreSQL は公式対応していますよね? パフォーマンスを求めるならば、PostgreSQL 8.3系にするだけでも、そこそこ変わると思います。 そして、下記のページが参考になると思います。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=2262&forum=3 SQLの話題が中核となっているので、難解な部分が多いかと思います。しかし、いずれSQLのチューニングをしなければ、解決できませんし、新たな問題に遭遇しても対応できませんから、ご自身で解決するつもりならば、SQLの勉強は避けられないと思います。 コミュニティ版では、高速化したプログラムに差し替えてありますので初期インストールだけで高速化されていますが、新たな問題の存在に関して不明確な面があります。こちらを使うならば、PHPの勉強が避けられないかな…
|
kaworu |
投稿日時: 2008/11/19 9:42
対応状況: −−−
|
半人前 登録日: 2008/8/29 居住地: 投稿: 23 |
Re: 商品一覧の表示が遅い homan様 seasoft様、お返事有り難うございます。
やはりSQL、PHPの勉強は避けられないですね、私の準備不足です。 参照ページを元にいろいろ試してみたいと思います。 |
kaworu |
投稿日時: 2008/11/21 13:06
対応状況: −−−
|
半人前 登録日: 2008/8/29 居住地: 投稿: 23 |
Re: 商品一覧の表示が遅い 検証用にEC-CUBEをサーバービもうひとつアップして、PostgreSQLにデータを移行して試してみたら随分と早くなりました。
(1分かかっていた商品検索が10秒前後) ところで、最終的に元のサイトにこのPostgresSQLと連動させたいのですが、 DBへのパスを書いたファイルは何処にありますでしょうか? |
homan |
投稿日時: 2008/11/21 13:57
対応状況: −−−
|
仙人 登録日: 2007/7/2 居住地: 宮崎県宮崎市 投稿: 633 |
Re: 商品一覧の表示が遅い 引用:
検証用にEC-CUBEをサーバービもうひとつアップして、PostgreSQLにデータを移行して試してみたら随分と早くなりました。 それでも10秒かかってしまうんですねぇ。 PostgreSQLのバージョンは何ですか? 8.3でないなら、8.3系に変えられればもっとよくなるかもしれないですね。 引用: ところで、最終的に元のサイトにこのPostgresSQLと連動させたいのですが、 /data/install.php のことでしょうか? 下記あたりを書き換えるといいかもしれないです。 DB_TYPEはPostgreSQLならば pgsql となるのでご注意を。
|
kaworu |
投稿日時: 2008/11/21 14:28
対応状況: 解決済
|
半人前 登録日: 2008/8/29 居住地: 投稿: 23 |
Re: 商品一覧の表示が遅い homan様
有り難うございます。うまく行きました! 最終的に当初の10倍近い、2万点ほどの商品登録になりましたが その後数秒かからずに表示出来るようになりました。 PostgreSQのバージョンはサーバーでvinstall用に用意されていた8.2.6でしたが、 なんとかなりました。 このあとMySQL用にカスタマイズした部分の見直し作業が待っていますが、 オープン予定日に間に合いそうです。 本当に助かりました。 |
homan |
投稿日時: 2008/11/21 14:54
対応状況: −−−
|
仙人 登録日: 2007/7/2 居住地: 宮崎県宮崎市 投稿: 633 |
Re: 商品一覧の表示が遅い 引用:
最終的に当初の10倍近い、2万点ほどの商品登録になりましたが よかったです ちなみに、特にソースコードを変更することなく上記のように数秒かからず表示できるようになったのですか?だとしたらかなり良い環境ですね。 差しさわりなければ後学に役立てたいので、お教えいただけると嬉しいです。 オープンまでの作業は大変かと思いますが、応援しています!
|
kaworu |
投稿日時: 2008/11/21 17:12
対応状況: −−−
|
半人前 登録日: 2008/8/29 居住地: 投稿: 23 |
Re: 商品一覧の表示が遅い お世話になりました。
ソースコードは http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=2709&forum=2&post_id=10207#forumpost10207 を参照して変更したぐらいです。 商品一覧では画像などは表示させていないのでそのあたりも影響しているのかもしれませんね。 ところで、前にDB移行で貼付けて頂いた参照部分の 「「次へ Autoindex」の値を、シーケンス値に反映させる」 の「シーケンス値」がPHPPgAdminのどこで反映させるのかが判らずそのままだったのですが、なにか影響があるのでしょうか? |
homan |
投稿日時: 2008/11/21 17:27
対応状況: −−−
|
仙人 登録日: 2007/7/2 居住地: 宮崎県宮崎市 投稿: 633 |
Re: 商品一覧の表示が遅い 引用:
ところで、前にDB移行で貼付けて頂いた参照部分の これをやっておかないと、商品IDや受注IDなどの連番が1から始まったりするので、商品登録や購入時にエラーとなります。早急に反映させた方が良いです。MySQLではauto_incrementで連番を保持しますが、PostgreSQLではシーケンス値として保持します。 phpPgAdminで変更する場合は、スキーマを選択した後に上の方に画像つきでメニュがでてくる「シーケンス」というリンクをクリックして変更します。 エクスポート→インポートしたテーブルの「次へのAutoindex値」があったものはすべて反映させて下さい。以下はテーブルとシーケンス値との関係です。これが主要なインポート→エクスポート対象となるテーブルだと思いますが、全てではないので必ずチェックしてみてください。 テーブル名 → シーケンス名 dtb_baseinfo → なし(反映の必要なし) dtb_best_products → dtb_best_products_best_id_seq dtb_category → dtb_category_category_id_seq dtb_class → dtb_class_class_id_seq dtb_classcategory → dtb_classcategory_classcategory_id_seq dtb_customer → dtb_customer_customer_id_seq dtb_deliv → dtb_deliv_deliv_id_seq dtb_delivfee → dtb_delivfee_fee_id_seq dtb_delivtime → dtb_delivtime_time_id_seq dtb_mailmaga_template → dtb_mailmaga_template_template_id_seq dtb_mail_history → dtb_mail_history_send_id_seq dtb_news → dtb_news_news_id_seq dtb_order → dtb_order_order_id_seq dtb_order_detail → なし dtb_other_deliv → dtb_other_deliv_other_deliv_id_seq dtb_payment → dtb_payment_payment_id_seq dtb_products → dtb_products_product_id_seq dtb_product_categories → なし dtb_products_class → dtb_products_class_product_class_id_seq dtb_recommend_products → なし dtb_send_customer → dtb_send_customer_send_id_seq dtb_send_history → dtb_send_history_send_id_seq
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |