質問 > フロント機能 > DBデッドロックでの購入エラー |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
t4423 |
投稿日時: 2021/9/4 21:58
対応状況: −−−
|
新米 登録日: 2021/9/4 居住地: 投稿: 2 |
DBデッドロックでの購入エラー [EC-CUBE] C-CUBE 4.0.4
[OS] Debian [PHP] PHP 7.3.29 [データベース] PostgreSQL 10.17 [WEBサーバ] Apache/2.4.25 [サーバースペック状況] フロント Web サーバー:1CPU 1 GB メモリ × 300 台(それぞれコンテナとして起動) DB サーバー:96CPU 96GBメモリ × 1台 DB キャッシュ(Redis) 最大使用可能メモリ 100GB [現象] 商品売出し開始から、1000人程度の同時アクセスが常時続いておりました。 その中で1割程度のお客様しか購入できず、購入エラーが多発し、 30分ほどするとDBデッドロックが掛かって502エラーが出てしまう事象が起きました。 DBデッドロック解除を行ってもしばらくすると再発し手動で解除を定期的に行っていたのですが、 解決することができず、現在は一度サイトを閉じている状態になります。 デッドロックが掛かっている前後のSQLは以下ようなものが出力されております。 SELECT 1 FROM dtb_product_stock t0 WHERE t0.id = $1 AND t0.discriminator_type IN ('productstock') FOR UPDATE",2021-09-03T12:22:59.400080Z SELECT t0.id AS id_1, t0.file_name AS file_name_2, t0.sort_no AS sort_no_3, t0.create_date AS create_date_4, t0.product_id AS product_id_5, t0.creator_id AS creator_id_6, t0.discriminator_type FROM dtb_product_image t0 WHERE t0.product_id = $1 AND t0.discriminator_type IN ('productimage') ORDER BY t0.sort_no ASC",2021-09-03T12:22:59.664425Z SELECT t0.id AS id_1, t0.pre_order_id AS pre_order_id_2, t0.order_no AS order_no_3, t0.message AS message_4, t0.name01 AS name01_5, t0.name02 AS name02_6, t0.kana01 AS kana01_7, t0.kana02 AS kana02_8, t0.company_name AS company_name_9, t0.email AS email_10, t0.phone_number AS phone_number_11, t0.postal_code AS postal_code_12, t0.addr01 AS addr01_13, t0.addr02 AS addr02_14, t0.birth AS birth_15, t0.subtotal AS subtotal_16, t0.discount AS discount_17, t0.delivery_fee_total AS delivery_fee_total_18, t0.charge AS charge_19, t0.tax AS tax_20, t0.total AS total_21, t0.payment_total AS payment_total_22, t0.payment_method AS payment_method_23, t0.note AS note_24, t0.create_date AS create_date_25, t0.update_date AS update_date_26, t0.order_date AS order_date_27, t0.payment_date AS payment_date_28, t0.currency_code AS currency_code_29, t0.complete_message AS complete_message_30, t0.complete_mail_message AS complete_mail_message_31, t0.add_point AS add_point_32, t0.use_point AS use_point_33, t0.gmo_payment_gateway_payment_status AS gmo_payment_gateway_payment_status_34, t0.customer_id AS customer_id_35, t0.country_id AS country_id_36, t0.pref_id AS pref_id_37, t0.sex_id AS sex_id_38, t0.job_id AS job_id_39, t0.payment_id AS payment_id_40, t0.device_type_id AS device_type_id_41, t0.order_status_id AS order_status_id_42, t0.order_status_id AS order_status_id_43, t0.order_status_id AS order_status_id_44, t0.discriminator_type FROM dtb_order t0 WHERE t0.pre_order_id = $1 AND t0.order_status_id = $2 AND t0.discriminator_type IN ('order') LIMIT 1",2021-09-03T12:22:58.815301Z SELECT 1 FROM dtb_product_stock t0 WHERE t0.id = $1 AND t0.discriminator_type IN ('productstock') FOR UPDATE",2021-09-03T12:22:58.008116Z また、上記スペックはかなり高スペックにアップデートしている認識なのですが、 フロントの表示もかなり遅く(商品画像が何枚か表示されない等) どこに原因があるのか定まっておりません。 ログを見ても原因究明ができておらず、 知見のある方、アドバイスいただけますと幸いです。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» DBデッドロックでの購入エラー | t4423 | 2021/9/4 21:58 |
Re: DBデッドロックでの購入エラー | 468 | 2021/9/6 2:30 |
Re: DBデッドロックでの購入エラー | t4423 | 2021/9/6 12:03 |