バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 商品登録時にタイムアウトしてしまう。

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
saifis
投稿日時: 2017/3/8 0:17
対応状況: −−−
新米
登録日: 2017/3/2
居住地:
投稿: 7
Re: 商品登録時にタイムアウトしてしまう。
そうですね。ただとりあえず商品登録できるようになるので、止血的な処理としては有りかと思います。
yuh
投稿日時: 2017/3/7 15:17
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 商品登録時にタイムアウトしてしまう。
その対応の場合、カテゴリに表示される数が更新されないことで
新規にカテゴリ追加した場合に影響があると思うので、はやめに手を加えた方がいいかもですね。


----------------


http://ec-lab.net/

saifis
投稿日時: 2017/3/7 13:21
対応状況: −−−
新米
登録日: 2017/3/2
居住地:
投稿: 7
Re: 商品登録時にタイムアウトしてしまう。
本格的に作業できるまでちょっと時間かかりそうですが、

SC_Helper_DBのsfCountCategoryをすぐにReturn;で帰るようにしたら問題なく動くようになったので、箇所としては間違いないのではと思います。

本当にありがとうございました。
saifis
投稿日時: 2017/3/7 9:22
対応状況: −−−
新米
登録日: 2017/3/2
居住地:
投稿: 7
Re: 商品登録時にタイムアウトしてしまう。
丁寧にありがとうございます。
さっそく試してみて結果を報告します。
yuh
投稿日時: 2017/3/6 21:46
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 商品登録時にタイムアウトしてしまう。
trueであれば在庫周りのクエリを追加して、INDEX効かせながら正常に動作するように調整すれば大丈夫です。


----------------


http://ec-lab.net/

saifis
投稿日時: 2017/3/6 21:21
対応状況: −−−
新米
登録日: 2017/3/2
居住地:
投稿: 7
Re: 商品登録時にタイムアウトしてしまう。
ありがとうございます。確認したところTrueになっています。
yuh
投稿日時: 2017/3/6 18:38
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 商品登録時にタイムアウトしてしまう。
NOSTOCK_HIDDENの設定ってどのようになっていますか?
その値によって対応するクエリが違うんですが
例えばMYSQLでNOSTOCK_HIDDENがfalseの場合は
SC_Helper_DBのsfCountCategory部分の更新のクエリが

データを取得・チェック。カテゴリ一つづつ更新
って感じで処理してるので、

-- 新規追加時用。
INSERT IGNORE INTO
dtb_category_count 
SELECT
	category_id,
	0 as product_count,
	NOW() as create_date
FROM
	dtb_category;

-- まとめて更新用	
UPDATE
	dtb_category_count
SET
	product_count = COALESCE(
	(
		SELECT
			COUNT(*) 
		FROM
			dtb_product_categories AS T2 
		WHERE
			category_id = dtb_category_count.category_id AND
			EXISTS(
				SELECT
					*
				FROM
					dtb_products
				WHERE
					product_id = T2.product_id AND
					del_flg = 0 AND 
					status = 1
			
			)
	),0);

こんな感じのクエリに変えてしまって、
最初に新規追加時のデータをまとめてINSERT。
次にすべてのカテゴリの集計をまとめて更新するようにして、
クエリ自体がちゃんとINDEX効かせてうまくいくように調整していって、
同じような感じでdtb_category_total_countにちょっと手を加えて調整を行えば
何とかなるとは思います。

Postgresqlであれば全くクエリの書き方は違いますが、方法は色々あります。


----------------


http://ec-lab.net/

saifis
投稿日時: 2017/3/6 14:36
対応状況: −−−
新米
登録日: 2017/3/2
居住地:
投稿: 7
Re: 商品登録時にタイムアウトしてしまう。
すいません返信遅れました。おそらく最初の問題となったDBエラーはこちらです。

2月23日に起きたもので、このエラー以降商品に対する書き込み全般に問題が出ています。

[execute end 58ae3f902aa53#28]
SQL: PREPARE mdb2_statement_mysql_28aa23bc6b2cb8d33209890acddca98e8e3aaab474 FROM 'UPDATE dtb_category_count SET create_date= CURRENT_TIMESTAMP, product_count= ? WHERE category_id = ?'
PlaceHolder: array (
0 => '80',
1 => 18,
)
execution time: 50.73 sec
from xxxxxx
login_id = xxxxxxxxxxx(0)[a6rfviqb5r60j04cmdv2j8joc7]
/home/xxxxxxxx/www/ec_cube/woodyadmin/products/product.php(29): LC_Page_Admin_Products_Product_Ex->process
/home/xxxxxxxx/www/ec_cube/data/class_extends/page_extends/admin/products/LC_Page_Admin_Products_Product_Ex.php(54): LC_Page_Admin_Products_Product->process
/home/xxxxxxxx/www/ec_cube/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php(70): LC_Page_Admin_Products_Product->action
/home/xxxxxxxx/www/ec_cube/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php(169): SC_Helper_DB->sfCountCategory
/home/xxxxxxxx/www/ec_cube/data/class/helper/SC_Helper_DB.php(802): SC_Query->update
/home/xxxxxxxx/www/ec_cube/data/class/SC_Query.php(627): SC_Query->query
/home/xxxxxxxx/www/ec_cube/data/class/SC_Query.php(865): SC_Query->execute
/home/xxxxxxxx/www/ec_cube/data/class/SC_Query.php(1041): SC_Query->lfEndDbTraceLog
/home/xxxxxxxx/www/ec_cube/data/class/SC_Query.php(1188): GC_Utils->gfPrintLog


操作しているユーザーの話による、商品のカテゴリ情報をいじっている最中にタイムアウトになり、それ以降商品登録ができない状態になっています。

また、これ以降のDBエラーは出ておらず、エラーログのみです。

その後のエラーログは以下のような感じで、毎回違うところでエラーになっていて、とにかくタイム・アウトしたタイミングでエラーになるようです。Phpのタイムアウト時間を120まで上げても結局タイムアウトしてしまいます。
さくらレンタルサーバの動きを見ていると、まるで無限ループに陥ったように延々とCPUリソースを専有し、プロセスを終了するまでそのままです。
yuh
投稿日時: 2017/3/2 14:26
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 商品登録時にタイムアウトしてしまう。
管理画面からDBのログ確認できますよー


----------------


http://ec-lab.net/

saifis
投稿日時: 2017/3/2 14:15
対応状況: −−−
新米
登録日: 2017/3/2
居住地:
投稿: 7
Re: 商品登録時にタイムアウトしてしまう。
返信ありがとうございます。DBログについて、レンタルサーバのため取得に手間取りそうですが、やってみます。集計に関してですが、ストアサイトの方で使用しているため取り除くのは困難です。

ただ、ストア側でのカウントに影響はないように見えます。1500件などに大きな影響がないように見えます。

また、再度確認したところ、商品の複製はタイム・アウトするものの成功、削除は同じくタイムアウトで削除されない、ということが確認できました。
(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,683名です
総投稿数は109,930件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2311
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1279
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.