質問 > 管理機能 > 規格数が多い時 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
musuke |
投稿日時: 2017/8/28 10:07
対応状況: 解決済
|
一人前 登録日: 2017/6/14 居住地: 投稿: 76 |
規格数が多い時 さくらインターネットでEC-CUBEを構築中です。
規格登録の際にエラーが発生する現象が発生しており、どうやら規格が多すぎるのが原因だと思われるのですが、何か解決方法はありませんでしょうか? phpの設定につきましては、下記のものを設定しております。 memory_limit = -1M(前回エラーが出たので取り急ぎ無制限にしています) max_input_vars = 30000(規格商品数が27000強あるので30000にしています) max_execution_time = 0(読み込みを無制限にして様子を見ています) 現状ですと、規格を登録する際に処理が追いついていないようで、タイムアウトになってしまいます。 無駄な処理をしないなどの方法はありますでしょうか? よろしくお願い致します。 |
468 |
投稿日時: 2017/8/29 12:10
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 規格数が多い時 商品管理>規格編集の画面の事でしょうか?
規格を利用する商品が27000件なのか?規格自体が27000件なのか? 規格分類が27000件なのか?わかりませんが、 かなりの負荷がかかっていると思われます。 登録ボタンを押した時など、どのタイミングでタイムアウトが発生するかもう少し詳しく教えていただければ、 該当の処理の場所を特定できるかもしれません。 ECCUBE3系は、ページネーションが無い画面も多いので、 件数が増えると、それだけで重たくなる傾向がありますね。
|
musuke |
投稿日時: 2017/8/29 13:46
対応状況: −−−
|
一人前 登録日: 2017/6/14 居住地: 投稿: 76 |
Re: 規格数が多い時 ありがとうございます。
商品管理>規格編集のことです。 サイズが70種類、カラーが359種類ある状態です。 商品規格点数が27000件強あります。 規格設定ボタンを押した時に、落ちてしまいます。 またテストで別に規格を作ってみたのですが、テストは問題なく動作致しますが、既存のカラーを設定すると落ちてしまいます。 |
nanasess |
投稿日時: 2017/8/29 15:59
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: 規格数が多い時 おそらく、規格数が限界なので、規格を使用せず、商品を分ける等で運用回避することをおすすめします。
|
musuke |
投稿日時: 2017/8/29 16:46
対応状況: −−−
|
一人前 登録日: 2017/6/14 居住地: 投稿: 76 |
Re: 規格数が多い時 ありがとうございます。やはり限界なのですね...
何かいい方法がないか考えてみます。 |
hata |
投稿日時: 2017/8/31 9:09
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: 規格数が多い時 規格分全部登録するのが大変なときは、規格の方を小分けにして規格の組み合わせを
ある程度減らして商品を登録するというてもあるかも知れません。 ところでタイムアウトが原因だとして何のタイムアウトかは判明したのでしょうか? max_execution_timeが原因じゃなかったのだとしたら、タイムアウトまでの時間から どのパラメータかを調べてみると良いかも知れません。(待てる範囲であればですが。) 例えば、max_input_timeとかはどうですか? それからmax_input_varsは、規格の組み合わせ数×入力項目(input)の数だと思うのですが、 サイズが70種類×カラーが359×10=251300と規格選択等のボタン+3個になるのでは? 違っていたらすみません。 ちなみに↑の10は、EC-CUBEオリジナルでの規格の組み合わせ1つに対する入力項目の数ですが、 プラグインやカスタマイズで入力項目を増やしているならそれ以上になると思います。 |
musuke |
投稿日時: 2017/8/31 10:25
対応状況: −−−
|
一人前 登録日: 2017/6/14 居住地: 投稿: 76 |
Re: 規格数が多い時 ありがとうございます。
タイムアウトの原因については判明しておりません。 サーバーサイドについてはあまり詳しくない為、システムの方に目を通していただいたところ、規格数が多すぎるとの回答をいただきました。 待てる範囲ではない状況なのですが、パラメータを調べるということはどういうことでしょうか? max_input_timeについては無制限になっておりました。 max_input_varsについては最低251300以上にしなければならないということでしょうか? 商品オプションプラグイン(現在は無効化にしています)を実装しているのですが、これを使うとさらに増えるということなのですか? よろしくお願い致します。 |
468 |
投稿日時: 2017/8/31 14:31
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 規格数が多い時 >サイズが70種類、カラーが359種類ある状態です。
規格分類の件数ですが、こちらの件数はサーバの設定でどうにか出来る件数を越えているのではないかと思います。 ご利用のサーバが専用サーバならメモリ上限などの設定を無制限にすれば、時間はかかるが動作する状態にはなると思いますが、 さくらのレンタルサーバやVPSのような共有タイプの場合、 上限を超えるような負荷がかかった場合、PHPの設定に関係無く、 処理を落とす仕組み(他の利用者に迷惑をかけない為に)があるのではないかと思いますので、 強制的に処理が止まったりするのではないでしょうか? hataさんのおっしゃられるように、 サイズ、カラーを小分けにして登録されたほうが良いのではないかと思います。
|
musuke |
投稿日時: 2017/8/31 15:58
対応状況: −−−
|
一人前 登録日: 2017/6/14 居住地: 投稿: 76 |
Re: 規格数が多い時 ありがとうございます。
こちら商品データを2系から移行致しましてカスタマイズをしています。 (2系については違う方が構築されています) サイズが70種類、カラーが359種類の状況で2系で動作できていたのですが、これはデータベースなど何か特別なカスタマイズなどされていたということなのでしょうか。 今回はご提案いただいた「小分けにする」等、何らかの対処で対応しようかと思ってはいますが、少し疑問に感じるところです。 2系と3系は全く違うものとは理解はしているのですが... |
468 |
投稿日時: 2017/8/31 19:58
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 規格数が多い時 ベースに利用している技術の違いが大きいのではないかと思います。
2系ではデータベースから取得したデータは配列で変数(メモリ上)に格納されていましたが、 (PEAR::MDB2を利用) 3系ではオブジェクトとして変数(メモリ上)に格納されます。 (Symfony2のDoctrineを利用) var_dump等で変数の中身を表示すると分かりますが、 データの値以外にも色々な情報を保持していて、基本的にメモリの消費量は増えています。 またリレーションが設定された先のデータや、画面に表示するプルダウンの選択肢等もオブジェクトで取得するようで、 同じくメモリを消費する原因となっていると思われます。 私の個人的な感覚では、 Doctorineのようにオブジェクトでデータを取り出すものは、 決まった形のデータを扱うには、 (カラムのスペルミスや親子データの参照ミス等の間違いを起こしにくく)大変便利かと思いますが、 パフォーマンス面では良くないという印象があります。 同じデータ件数だとしても、2系と比べて、3系はサーバのスペックは良いものが必要と思います。
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |