バージョン選択

フォーラム

メニュー

オンライン状況

69 人のユーザが現在オンラインです。 (51 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 69
もっと...

サイト内検索

質問 > フロント機能 > 規格編集画面が開きません。

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
r56
投稿日時: 2011/3/28 18:12
対応状況: −−−
半人前
登録日: 2008/9/3
居住地:
投稿: 23
Re: 規格編集画面が開きません。
> dtb_products_classテーブルに
> 3,000×550×3800分のレコードを持つテーブルに、
> 編集しようとしている規格情報を取得しにいってますので、
> dtb_products_classテーブルにインデックスも張ると、
> 少し改善されるかもしれません。
>
> dtb_products_classテーブルでは、product_idはユニークでは
> ありませんので、規格IDでインデックスを作成されては
> いかがでしょうか。

dtb_products_classテーブルにインデックスを張る方法を
過去ログを見て模索してみます。

情報ありがとうございました
maggi
投稿日時: 2011/3/20 16:18
対応状況: −−−
長老
登録日: 2010/4/23
居住地: 東京都渋谷区恵比寿西1-16-6
投稿: 157
Re: 規格編集画面が開きません。
r56様

規格編集画面ということは、DBのdtb_products_classテーブルに
大量のデータが入っており規格情報をSQLでSELECTしている時に、
処理しきれていないと思われます。

商品点数が3,000点で
規格がサイズ 550 カラー 3800ということは、
全ての商品に規格のサイズとカラーの組み合わせを
登録しているとなると、

dtb_products_classテーブルに
3,000×550×3800分のレコードを持つテーブルに、
編集しようとしている規格情報を取得しにいってますので、
dtb_products_classテーブルにインデックスも張ると、
少し改善されるかもしれません。

dtb_products_classテーブルでは、product_idはユニークでは
ありませんので、規格IDでインデックスを作成されては
いかがでしょうか。
AMUAMU
投稿日時: 2011/3/10 18:48
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 規格編集画面が開きません。
>高速化のスレ等を参考にしていけばいいでしょうか?

高速化に関する過去ログに有用な情報はあると思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

r56
投稿日時: 2011/3/10 11:52
対応状況: −−−
半人前
登録日: 2008/9/3
居住地:
投稿: 23
Re: 規格編集画面が開きません。
各規格はそれほど情報量はないのですが、
規格情報を商品情報と共に楽天からインポートしているので
これから更に増える予定です。

> 根本解決方法としては
> 1. クエリの結果を全部取得する方式ではなく、逐次取得方式に切り替えるカスタマイズを行う。
> 2. その他のメモリ負荷が高いところをカスタマイズする

かなり難易度が高そうですがこちらの方法でいこうと思います。
高速化のスレ等を参考にしていけばいいでしょうか?
AMUAMU
投稿日時: 2011/3/9 17:25
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 規格編集画面が開きません。
やはりPostgreSQLではなく、PHPメモリ側でしたね。
エラーの内容を見る限りメモリあふれを起こしていますが、該当の所では確かに、それだけの規格(550×3800)を扱う分けで、かなりメモリ負荷が高いです。

規格をカスタマイズしていたり、各規格の名前等に長めのテキストを使ったりしていますか?
1規格に100バイトの情報量を使っていたとして、瞬間最大で400Mぐらいのメモリを食うはずですが、状況を見るともっと情報量があるということかもしれません。

回避策的には
1.規格自体の情報に多数の情報量を入れないようにする。
2.規格を550×3800と大量に使っているところを減らすように工夫する。

根本解決方法としては
1. クエリの結果を全部取得する方式ではなく、逐次取得方式に切り替えるカスタマイズを行う。
2. その他のメモリ負荷が高いところをカスタマイズする

という感じかと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

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にして試していただいたのですが、
これは、サーバのリソースの上限にあたってしまいプロセスが
終了させられてしまったそうです。
seasoft
投稿日時: 2011/3/8 23:15
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 規格編集画面が開きません。
先程も書きました通り、まずはボトルネックを調べた方が良さそうですね。

AMUAMU 様が書かれている PHP の バージョンは結構怪しいですね。PHP 5.1 は、memory_limit の初期値は 8M だった気が・・・


また、

> 商品マスターから規格管理へ進むと画面が開かなく
> なってしまいました。

このあたり、時間軸を含めて、詳細な状況が分かると、良いように思います。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

AMUAMU
投稿日時: 2011/3/8 20:35
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 規格編集画面が開きません。
PostgreSQLで、その程度の量は問題無く動くはずなんですけどね・・・

色々なところにデバッグ出力などを仕掛けて、どこで時間がかかっているか等を分析しないと中々辛そうな。
DBより、PHPのタイムアウトまたはメモリリミットなどが原因の気もします。
PHPのエラーログに何か出ていませんか?
またPHPのタイムアウト時間などは設定可能な環境ですか?


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

r56
投稿日時: 2011/3/8 16:43
対応状況: −−−
半人前
登録日: 2008/9/3
居住地:
投稿: 23
Re: 規格編集画面が開きません。
PostgresSQLのシェアードメモリを変更しましたが
ダメでした

shared_buffers 32M → 128M
random_page_cost 4.0 → 3.0

r56
投稿日時: 2011/3/8 15:27
対応状況: −−−
半人前
登録日: 2008/9/3
居住地:
投稿: 23
Re: 規格編集画面が開きません。
ご返信ありがとうございます

Chromeをダウンロードして試したのですがダメでした。

PostgreSQL のシェアードメモリーは早速確認してみます。
(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,279名です
総投稿数は110,071件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1301
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.