質問 > フロント機能 > 商品表示が遅すぎるので高速化したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
neko_cube |
投稿日時: 2011/8/16 5:11
対応状況: −−−
|
半人前 登録日: 2011/7/11 居住地: 神奈川県 投稿: 13 |
商品表示が遅すぎるので高速化したい ご質問の前にフォーラムの過去ログ、ネット上の記事をほとんど見ております。その点を踏まえて質問致します。
大多数の方がこの症状にDBの変更・改善について書いておりましたので原因は理解しています。 EC CUBEの商品表示スピード改善には、元々EC CUBE開発にPostgreSQLを使用した経緯からMySQLのDBの場合には、PostgreSQLに変更する事により改善されるそうですが、私の場合DBにあまり詳しくありませんし現在設置しているDBがMySQLの為SQLで改善を図りたいと考えています。 当方のバージョン情報は下記の通りです。 EC-CUBEバージョン 2.4.4 PHPバージョン PHP 5.1.6 DBバージョン MySQL 5.0.77 サーバースペックはCore 2 Quadでメモリ4GBです。 現在の詳しい症状は、商品登録数5000、カテゴリ5、企画なしで商品表示までに40秒〜45秒程掛かっております。管理画面の商品検索でも同じような症状です。やはりDBの問題だと思います。 (正直自身でもこんなECサイトでは購入したくありませんね笑) 改善後表示に5秒前後くらいには最低でもしたいところです。 改善方法は2通り検討しています。 ?.text型をどうやら変更するそうなのですが、"型"の変更方法が理解できていません。 ?.SC_DB_DBFactory_MYSQL_Ex.phpを変更後、MySQLのデータベースにviewを追加するらしいのですが、追加方法が分かりません。また、この追加後に問題も起きる場合があるそうなのですが、具体的にどのような不具合が起きるのでしょうか。 今同じ事に悩んでいる方、以前同じ事を経験した方、この症状改善にお詳しい方おりましたら、ご伝授までお付き合い頂けませんでしょうか。 よろしくお願いします。 neko |
fukap |
投稿日時: 2011/8/16 8:27
対応状況: −−−
|
仙人 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 商品表示が遅すぎるので高速化したい tao_s様の以下の記事をご覧になったのかなと思います。
http://d.hatena.ne.jp/xross-cube/20101224/p1 記事を読んで、何をしたら良いかわかる程度の知識がないと難しいと思います。 1については、型の変更はEC-CUBEと直接関係はなく、データベースの基礎知識に関する話です。 断片的にはお答えできますが、MySQLやPostgreSQLの入門書を読んだほうがすっきり理解できると思いますよ。 2については、VIEWを追加する場合は、SSH接続からDBに直接アクセスして、SQLを流して作成します。 それが難しい場合は、phpMyAdminなどのデータベース管理システムを使うと良いかと思います。 追加後に発生する問題については私もわかりませんが、参考記事元に、 「この記事は基本的に投げっぱなしの記事になっておりますので、個別案件へのお問い合わせには対応しかねる事をご理解願います。」とありますので、トラブルの可能性も含めて自己責任で、ということだと思います。 個人的には商品数がそれぐらいあるなら、PostgreSQLの一択のような気がしますが。 2.4系だと全く別物の速度なので驚くと思います。 |
supernabeo |
投稿日時: 2011/8/16 9:43
対応状況: −−−
|
新米 登録日: 2009/6/18 居住地: 大分県 投稿: 7 |
Re: 商品表示が遅すぎるので高速化したい
|
neko_cube |
投稿日時: 2011/8/16 9:43
対応状況: −−−
|
半人前 登録日: 2011/7/11 居住地: 神奈川県 投稿: 13 |
Re: 商品表示が遅すぎるので高速化したい fukap様ご返信ありがとうございます。
以前「商品の登録追加エラー」でお世話になりました。 その後問題は起きなかったのですが、商品の登録をしていましたら運営直前でとてつもなくレスポンスが悪いことに気づき、調べましたら同じような方がかなり多くいたので対策に入る前にご返答頂けて参考になります。 phpMyAdminとPostgreSQLどちらにせよ、早速入門書でも購入してこようと思います。果たしてこういった事例の参考書はあるのでしょうか。2についてはphpMyAdminで管理しています。管理画面の操作がよく分からないといった感じです。 確かにトラブルが分からないのはやってみてといった感じですね。元に戻せるデータを考えた上で挑戦してみようと考えていました。 因みにfukap様もPostgreSQLの方ですか。一応サーバーにはphpMyAdminとPostgreSQL両方ともインストールされているようなので、PostgreSQLでもと考えたのですが、やはり構築した経験がないので何からはじめて良いのか分からないといった具合です。 PostgreSQLにする場合現在のまま移行しながらというのが必要になると思いますが、どのように手順を踏んだら良いのか未知数です。 fukap様は商品数が多い場合PostgreSQLで構築していますか? みなさんPostgreSQLにすると驚くといった表現なのでfukap様の言われますとおり完全に別物なのでしょうね。そう言い切られてしまうと悩みます。 一応EC-CUBEをMySQLからPostgreSQLに移行の記事も見てはいます。 本日は本屋に乗り込んで来ようと思います。 NEKO |
neko_cube |
投稿日時: 2011/8/16 9:50
対応状況: −−−
|
半人前 登録日: 2011/7/11 居住地: 神奈川県 投稿: 13 |
Re: 商品表示が遅すぎるので高速化したい supernabeo様ご意見ありがとうございます。
カゴヤにそんなプランがあるのですね。 当方でもカゴヤの共有プランにて2つほど契約しているサイトがあります。以前お世話になっていたエンジニアの方がカゴヤはEC CUBEのインストールが簡単だと言っていたのを思い出しました。 ただPostgreSQLプランは初めて知りました。参考にさせて頂きます。 NEKO |
fukap |
投稿日時: 2011/8/16 10:11
対応状況: −−−
|
仙人 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 商品表示が遅すぎるので高速化したい 引用:
phpMyAdminで管理しています。管理画面の操作がよく分からないといった感じです。 データベースの基本知識があれば、何となくわかると思います。 わざわざSQLを叩かなくても、テーブル構造やレコードの中身が確認できるので、とても便利です。 引用: 因みにfukap様もPostgreSQLの方ですか。 PostgreSQL8.3環境をデフォルトにしています。 2.11系でもやはりPostgreSQLのほうが速いと思いましたので、変える予定はありません。 引用: fukap様は商品数が多い場合PostgreSQLで構築していますか? EC-CUBE 2.4.4、登録商品数4800(規格なし)、カテゴリ2080、のサイトが一番多いですかね。 今のところストレスなく動作しています。専用サーバーの1台構成です。 商品一覧・商品詳細でも、表示速度は1秒程度のようです。 |
468 |
投稿日時: 2011/8/16 19:51
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品表示が遅すぎるので高速化したい 私は、仕事でMySQLをよく利用しますが、
2.4系は、デフォルトでは商品や規格、カテゴリが増えれば増えるだけ 爆発的にデータベースのレスポンスが遅くなります。 商品件数10,000件、カテゴリ6個、規格多少有りのショッピングサイトをカスタマイズした時は、 MySQLのチューニングだけで1ヶ月近くかかりました。 (SQLの見直し、テーブル構造の変更、MySQLの設定変更) それでも、商品一覧の表示が要件に満たなかった為(3〜5秒)、 毎晩、全ページを別アプリでクロールさせて、WEBページをサーバにキャッシュさせています。 もし、PostgreSQLが利用できる状況であれば、 商品の件数から考えて、データベースを切り替えたほうが効率的かもしれません。 |
neko_cube |
投稿日時: 2011/8/17 3:10
対応状況: −−−
|
半人前 登録日: 2011/7/11 居住地: 神奈川県 投稿: 13 |
Re: 商品表示が遅すぎるので高速化したい 468様ご返信ありがとうございます。
やはりMySQLのチューニングに1ヶ月近くということから、大変ご苦労されていることが分かります。 MySQLからPostgreSQLに移行しようと思います。 その場合はphpMyAdmin → phpPgAdminにするそうですが、その辺を今勉強しています。 MySQLの利用者からの声が聞けまして大変参考になりました。 |
tao_s |
投稿日時: 2011/8/18 3:19
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: 商品表示が遅すぎるので高速化したい どうもです。例の記事を書いた者です。
僕も商品点数や規格数が多い場合にはPostgreSQLを使います。 と言うかEC-CUBEはほとんどPostgreSQLです。 ただ、MySQLだってDBとしてはPostgreSQLに負けていないハズ!と思って色々試してみた次第です。 MySQLでもPostgreSQLと同程度のパフォーマンスは出せると思います。チューニング次第ではPostgreSQLよりも速くなるかもしれませんが、現実問題としてDBのチューニングにリソースを割くのであればPostgreSQLを使って、他のところにリソースを割いた方が得策です。 ブログに書いたやり方は、MySQLでもPostgreSQLと同じ様な処理をする様にした物なので、そこまで致命的な障害は出ないと思いますが、細々とした対応は必要になってくると思います。
|
shutta |
投稿日時: 2011/8/18 12:24
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: 商品表示が遅すぎるので高速化したい みなさん、こんちには。
私も、2.4系をMySQLを運用するのに苦労した口です。 VIEWを利用するように書き換えるだけで、全般的に高速化できましたが、 そのたにも細かなところで速度劣化があったので、結構手間を取られました。 商品数以外にも受注件数が増えるとそれに関連してチューニングが必要でしたし、order_idを採番する際にdtb_orderテーブルをロックしてしまう機構なんかもトラブルに繋がったりと、なかなか大変でした。 2.11では、随分改善しているとは思いますが、そんな経験があるもので、専らPostgreSQLで運用するようにしていますね。
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |