質問 > フロント機能 > 規格編集画面が開きません。 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
r56 |
投稿日時: 2011/3/8 14:44
対応状況: −−−
|
半人前 登録日: 2008/9/3 居住地: 投稿: 23 |
規格編集画面が開きません。 EC-CUBEバージョン 2.4.3
PHPバージョン PHP 5.1.6 DBバージョン PostgreSQL 8.4.5 商品点数が3,000点 規格がサイズ 550 カラー 3800ほど あるのですが 商品マスターから規格管理へ進むと画面が開かなく なってしまいました。 PostgreSQLのバージョンをあげて、メモリもあげて もらったのですが相変わらず開かないです。 過去ログを見るとMySQLの例はあるのですがPostgreSQL の例が無いようです。 どのように対処すればいいかご教授いただけないでしょうか? 宜しくお願いいたします。 |
seasoft |
投稿日時: 2011/3/8 15:08
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 規格編集画面が開きません。 実際にサーバを見たわけではないので、勝手な想像から何点か・・・
> メモリもあげてもらったのですが 単に、物理メモリを増やすだけでは、1セッションのみで考えると、あまり効果がない場合もあります。 PostgreSQL のシェアードメモリーなども調整しましたか? また、そのデータ規模だと、DB ではなく、ブラウザの問題が発生する懸念もありそうです。 以前に検証したときには、Google Chrome だと比較的良好でした。 まずは、ボトルネックを分析した方が良さそうだなぁと思います。
|
r56 |
投稿日時: 2011/3/8 15:27
対応状況: −−−
|
半人前 登録日: 2008/9/3 居住地: 投稿: 23 |
Re: 規格編集画面が開きません。 ご返信ありがとうございます
Chromeをダウンロードして試したのですがダメでした。 PostgreSQL のシェアードメモリーは早速確認してみます。 |
r56 |
投稿日時: 2011/3/8 16:43
対応状況: −−−
|
半人前 登録日: 2008/9/3 居住地: 投稿: 23 |
Re: 規格編集画面が開きません。 PostgresSQLのシェアードメモリを変更しましたが
ダメでした shared_buffers 32M → 128M random_page_cost 4.0 → 3.0 |
AMUAMU |
投稿日時: 2011/3/8 20:35
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: 規格編集画面が開きません。 PostgreSQLで、その程度の量は問題無く動くはずなんですけどね・・・
色々なところにデバッグ出力などを仕掛けて、どこで時間がかかっているか等を分析しないと中々辛そうな。 DBより、PHPのタイムアウトまたはメモリリミットなどが原因の気もします。 PHPのエラーログに何か出ていませんか? またPHPのタイムアウト時間などは設定可能な環境ですか?
|
seasoft |
投稿日時: 2011/3/8 23:15
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 規格編集画面が開きません。 先程も書きました通り、まずはボトルネックを調べた方が良さそうですね。
AMUAMU 様が書かれている PHP の バージョンは結構怪しいですね。PHP 5.1 は、memory_limit の初期値は 8M だった気が・・・ また、 > 商品マスターから規格管理へ進むと画面が開かなく > なってしまいました。 このあたり、時間軸を含めて、詳細な状況が分かると、良いように思います。
|
r56 |
投稿日時: 2011/3/9 16:28
対応状況: −−−
|
半人前 登録日: 2008/9/3 居住地: 投稿: 23 |
Re: 規格編集画面が開きません。 サーバー管理の方にmemory_limitを
1024Mまで増やして頂いたのですがダメでした。 memory_limitをこれ以上増やすのは現在の環境では 難しいそうです。 phpのログのエラーの一部を頂きました。 ↓memory_limit追加前 [error] [client xxx.xxx.xxx.xxx] PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 43 bytes) in /var/www/html/eccube/data/module/DB/pgsql.php on line 415, referer: http://xxxx/admin/products/index.php [error] [client xxx.xxx.xxx.xxx] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 45 bytes) in /var/www/html/eccube/data/module/DB/pgsql.php on line 415, referer: http://xxxx/admin/products/index.php ↓memory_limit追加後 [error] [client xxx.xxx.xxx.xxx] PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 524288 bytes) in /var/www/html/eccube/data/module/DB/common.php on line 1627, referer: http://xxx/admin/products/index.php [error] [client xxx.xxx.xxx.xxx] PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 524288 bytes) in /var/www/html/eccube/data/module/DB/common.php on line 1627, referer: http://xxx/admin/products/index.php 最後に2048Mにして試していただいたのですが、 これは、サーバのリソースの上限にあたってしまいプロセスが 終了させられてしまったそうです。 |
AMUAMU |
投稿日時: 2011/3/9 17:25
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: 規格編集画面が開きません。 やはりPostgreSQLではなく、PHPメモリ側でしたね。
エラーの内容を見る限りメモリあふれを起こしていますが、該当の所では確かに、それだけの規格(550×3800)を扱う分けで、かなりメモリ負荷が高いです。 規格をカスタマイズしていたり、各規格の名前等に長めのテキストを使ったりしていますか? 1規格に100バイトの情報量を使っていたとして、瞬間最大で400Mぐらいのメモリを食うはずですが、状況を見るともっと情報量があるということかもしれません。 回避策的には 1.規格自体の情報に多数の情報量を入れないようにする。 2.規格を550×3800と大量に使っているところを減らすように工夫する。 根本解決方法としては 1. クエリの結果を全部取得する方式ではなく、逐次取得方式に切り替えるカスタマイズを行う。 2. その他のメモリ負荷が高いところをカスタマイズする という感じかと思います。
|
r56 |
投稿日時: 2011/3/10 11:52
対応状況: −−−
|
半人前 登録日: 2008/9/3 居住地: 投稿: 23 |
Re: 規格編集画面が開きません。 各規格はそれほど情報量はないのですが、
規格情報を商品情報と共に楽天からインポートしているので これから更に増える予定です。 > 根本解決方法としては > 1. クエリの結果を全部取得する方式ではなく、逐次取得方式に切り替えるカスタマイズを行う。 > 2. その他のメモリ負荷が高いところをカスタマイズする かなり難易度が高そうですがこちらの方法でいこうと思います。 高速化のスレ等を参考にしていけばいいでしょうか? |
AMUAMU |
投稿日時: 2011/3/10 18:48
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: 規格編集画面が開きません。 >高速化のスレ等を参考にしていけばいいでしょうか?
高速化に関する過去ログに有用な情報はあると思います。
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |