Crawlee+Playwrightのクローラーがメモリ不足で落ちるときの調整

Playwrightベースのクローラーはブラウザプロセスがメモリを大量消費する。並列度の制御とコンテキスト再利用でメモリ1〜2GB環境でも安定させる方法をまとめる。

並列度の制御

CrawleeのmaxConcurrencyを明示的に下げ、autoscaledPoolのmaxUsedMemoryRatioを保守的に設定する。1GB環境なら並列1〜2が現実線。

ブラウザコンテキストの再利用

ページごとにブラウザを起動し直すとオーバーヘッドが大きい。persistentContextの再利用とページの明示的closeでリークを防ぐ。

リソースブロック

画像・フォント・メディアのリクエストをブロックすると1ページあたりの消費が大きく減る。JSON-LDやテキスト抽出目的なら影響もない。