バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > セッションのDB管理について(Lock wait timeout )

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
maiku_hama
投稿日時: 2025/3/2 12:15
対応状況: −−−
新米
登録日: 2025/3/2
居住地:
投稿: 4
セッションのDB管理について(Lock wait timeout )
▼テンプレート
[EC-CUBE] 4.0.2
[PHP] 7.1.33
[データベース] mySQL 5.6.46
[現象]

ロードバランサ対応として、セッション管理をDB管理に変更しました。
https://doc4.ec-cube.net/session_handler_settings
使用頻度が高い際に以下のエラーが発生します

SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction
同時使用は100名程度(特定のイベントで使用)で、3台のロードバランサで対応しています。




発生原因としては、「PdoSessionHandler」から発行される以下のSQLのように想定しています。
mysqlのロック情報などから判断しました。

「DELETE FROM sessions WHERE sess_lifetime + sess_time < 数値」

また、このSQLはガベージコレクションがtrue(?)になったときにだけ発行されるようで、常に発行されるわけではないようです。



お聞きしたいのは以下の点です。

・同じご経験がある方で、行った対策があればお願いします。
 また、ECCUBEのバージョンによっては、解決しているなど。
・PdoSessionHandlerは、使用しないほうがいいなどの情報をお持ちでしたらそちらもお願いします。



よろしくお願いします。

red
投稿日時: 2025/3/4 10:32
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1580
Re: セッションのDB管理について(Lock wait timeout )
DELETEは重いので、ガベージコレクションでの実行はやめて深夜のバッチ対応にすることで対処したことはあります


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

maiku_hama
投稿日時: 2025/3/4 21:43
対応状況: −−−
新米
登録日: 2025/3/2
居住地:
投稿: 4
Re: セッションのDB管理について(Lock wait timeout )
ご回答ありがとうございます。
大変、参考になります。

お手数ですが、可能な範囲で結構ですので、教えていただけると助かります。



DELETEをやめた方法について

symfonyの[PdoSessionHandler.php]のDELETE箇所をコメントアウトなどするような方法でしょうか。
それとも、PHP等何らかの設定で「ガベージコレクションでの実行をやめる」ことが可能でしょうか。



セッションの保持期間について

夜間のバッチでセッションをDELETEした場合、SESSIONが残るかなと思います。
その場合、期待するよりセッションの保持期間が長くなってしまいましたか?

たとえば、1時間を期待していても夜までセッションが残ってしまうなど。
そういった問題が出る等ありましたでしょうか。
red
投稿日時: 2025/3/5 16:34
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1580
Re: セッションのDB管理について(Lock wait timeout )
すみません、2系での話なのでコメントアウトで対応しました。

セッションの保持期間は長くしていたので気づかなかったです


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

nanasess
投稿日時: 2025/3/5 17:40
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2330
Re: セッションのDB管理について(Lock wait timeout )
引用:

・PdoSessionHandlerは、使用しないほうがいいなどの情報をお持ちでし
たらそちらもお願いします。


重いので使用しない方がよいと思います。
最近は Redis を使用するのが主流かと。
maiku_hama
投稿日時: 2025/3/5 19:52
対応状況: −−−
新米
登録日: 2025/3/2
居住地:
投稿: 4
Re: セッションのDB管理について(Lock wait timeout )
>すみません、2系での話なのでコメントアウトで対応しました。

コメントアウトでされたのであれば、それをお聞きしたかったので大丈夫です。
助かります。


>セッションの保持期間は長くしていたので気づかなかったです



ありがとうございました。
参考にさせていただきます。
maiku_hama
投稿日時: 2025/3/5 19:55
対応状況: −−−
新米
登録日: 2025/3/2
居住地:
投稿: 4
Re: セッションのDB管理について(Lock wait timeout )
>重いので使用しない方がよいと思います。
>最近は Redis を使用するのが主流かと。


ご意見ありがとうございます。
ロックだけではなく、スピードにもかかわるようなので、Redis への切り替えも検討してみます。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は104,359名です
総投稿数は112,461件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2330
5
umebius
2085
6
h_tanaka
1969
7
yuh
1900
8
mcontact
1684
9
red
1580
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
805
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
balisys
502


ネットショップの壺

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

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