メインコンテンツへスキップ
EXBANK
用語集一覧へ
— 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時間以内に返信