質問 > 管理機能 > 商品登録(商品規格) 画面で500エラー |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
shima955 |
投稿日時: 2018/7/16 1:18
対応状況: −−−
|
半人前 登録日: 2018/7/15 居住地: 投稿: 13 |
商品登録(商品規格) 画面で500エラー 表記の件につき、お知恵をお借りしたく、はじめて質問をさせていただきます。
[EC-CUBE] 3.0.16 (3.0.15からのアップデート) [OS] FreeBSD 11.1 [PHP] 7.0.27 [データベース] MySQL 5.6 [WEBサーバ] Apache/2.4.27 [ブラウザ] chrome 67.0.3396.99 64bit [導入プラグインの有無] - CategoryContent - 最近チェックした商品 - OrderPdf - おすすめ商品管理プラグイン - 関連商品プラグイン [現象] ECCUBE3 商品管理 -> 商品登録 -> 規格設定 の画面において、 規格分類の数が多い組み合わせのものを選択し、「商品規格の設定」ボタンを押すと 500 エラーとなる。(詳細は後述させていただきます。) もう少し詳しい状況を以下に記載します。 どのような組み合わせで再現するか検証してみたところ、以下の様になりました。 (凡例:規格1の分類数 x 規格2の分類数 = 組合せ数 -> 結果) 16 x 3 = 48 -> ok 16 x 10 = 160 -> ok 16 x 12 = 192 -> index_dev.php環境では以下のエラー。通常環境ならok OutOfMemoryException in WebDebugToolbarListener.php line 115: 16 x 17 = 272 -> ok 16 x 23 = 368 -> ok 16 x 25 = 400 -> エラー(HTTP ERROR 500) 16 x 33 = 528 -> エラー(HTTP ERROR 500) 6 x 64 = 384 -> ok 6 x 70 = 420 -> エラー(HTTP ERROR 500) 37 x 8 = 296 -> ok 37 x 10 = 370 -> ok 37 x 12 = 444 -> エラー(HTTP ERROR 500) 上記の結果から、400前後の組み合わせで、エラーとなっているように思われます。 なお、6×64=384で出力されたhtmlのソースは20,134行(6,793kb)となっておりました。 この出力にかかった時間は、4秒程度でした。 エラーになる場合は、2秒程度でHTTP ERROR 500が返ってきます。 ご教示いただきたいことは、以下のようなことになります。 ・ECCUBE3において、規格分類とその組み合わせに関する限界は、仕様として存在しますか。 ・もし仕様として存在する場合、それはいかほどになりますか。 ・もし仕様が存在しない場合、こうした現象を回避するための対策として、 どのようなことが考えられますでしょうか。 備考: PHP情報でみられる max_input_varsは現在1000で、これは最終的にPOSTするときに 影響すると思いますが、これは引き上げるつもりでいます。 以上となります。どうぞ、よろしくお願いします。 |
468 |
投稿日時: 2018/7/16 1:40
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品登録(商品規格) 画面で500エラー 投稿いただいた現象からメモリーに関するエラー(OutOfMemoryException)が発生していると思います。
対応としては、max_input_varsだけでなく、 memory_limitを今よりも大きな値に変更する必要があると思います。 また、同じように大量のデータを扱う処理で実行時間の制限に引っかかる場合もあり、その場合は、max_execution_timeを大きな値に変更する必要があると思います。 ECCUBE3の仕様上の限界という訳ではありませんが、 規格の組み合わせについては、 メモリーを大量に消費しますので、 規格内の分類の数が多い場合は、必ずphp側の設定が必要と思います。
|
shima955 |
投稿日時: 2018/7/16 2:34
対応状況: 解決済
|
半人前 登録日: 2018/7/15 居住地: 投稿: 13 |
Re: 商品登録(商品規格) 画面で500エラー shiro8様
早速の丁寧なご回答、誠にありがとうございました。 規格分類の組み合わせには、大変な負荷がかかるのですね。 早速、メモリ限界を512Mに引き上げて試してみたところ、以下のような結果となりました。やはり、メモリがネックだったようです。 85 x 10 = 850 -> ok html 43,902行(14,889kb) 10秒程度 85 x 13 = 1105 -> ok html 56,907行(19.327kb) 14秒程度 85 x 25 = 2125 -> HTTP ERROR 500 14秒程度 1000以上となってもなんとか出力されるとはいえ、ここまで選択肢が多くなってしまうと手動入力は非現実的ですし、サーバ負荷も莫大ですから、実用的にはもっと少ない組み合わせで運用せねばなりませんね。 当面、規格分類の編集はCSVアップロードで対応することとし、長期的には規格分類の見直しをすすめるようにします。 今回は大変参考になりました。 ご回答、まことにありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |