質問 > 管理機能 > セッションの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は重いので、ガベージコレクションでの実行はやめて深夜のバッチ対応にすることで対処したことはあります
|
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系での話なのでコメントアウトで対応しました。
セッションの保持期間は長くしていたので気づかなかったです
|
nanasess |
投稿日時: 2025/3/5 17:40
対応状況: −−−
|
神 ![]() ![]() 登録日: 2006/9/9 居住地: 投稿: 2330 |
Re: セッションのDB管理について(Lock wait timeout ) 引用:
重いので使用しない方がよいと思います。 最近は 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 への切り替えも検討してみます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |