用語集一覧へ
— Glossary
同期ロック
読み: どうきロック
短い定義
同期ロックは、ファイル同期中の排他制御で取得される一時的な権利です。複数クライアントの並行書込みでデータ破損を防ぐために必須ですが、肥大化すると逆に同期が止まります。
詳細解説
Nextcloud は WebDAV PUT / MKCOL のたびに該当パスのロックを取得し、処理完了後にリリースします。負荷集中時にロック取得 → リリースのリクエストが連鎖し、DB ロック (oc_file_locks) のテーブルが詰まると新規ロックが取れなくなり、同期が完全停止します。Redis ロックバックエンドに切り替えれば、レスポンス速度の桁違いの違いで詰まりにくくなります。本シリーズの実例では 4 台のクライアントが並行同期して 663,899 件のロックエントリが滞留しました。
実装例 / 使い方
- 01ファイル PUT 時に PROPPATCH で LOCK を発行
- 02DB ロック使用時は秒間数百ロックで詰まる
- 03Redis 化後は数千 RPS まで耐える
— IMPLEMENT
同期ロックを、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
