データ更新

スクレイピング
公式サイトからHTMLを取得してキャッシュします(DBは変更しません)
実行

DBに保存
HTMLキャッシュからDBを更新します(Selenium不要・スクレイピングと並列実行可)
実行

キャッシュ状態
HTMLキャッシュの統計情報を確認・管理します
確認

タグ管理

タグ編集
タグの作成・削除・名前変更を行います
開く

本のタグ管理
本に対してタグを付与・削除します
開く

自動タグ設定
タイトルに含まれるキーワードで自動タグ付けするルールを編集します
編集

既存本へ自動タグ付け
auto_tag_rules.yaml のルールに基づいて既存の本にタグを付与します

表示設定

デバッグモード
メイン画面に検索SQLなどのデバッグ情報を表示します

シリーズ表示設定
シリーズ一覧で代表として表示する巻を選択します

DB管理

データベース再構築
すべてのデータを削除してスキーマから作り直します。この操作は取り消せません。

起動パフォーマンス (コールドスタート計測)

最新の起動内訳 (2026-08-18 18:51:44)

総コールドスタート時間: 4.51秒

フェーズ 所要時間 割合
GCSダウンロード 1.692 秒 37.5%
モジュールインポート 2.646 秒 58.6%
DBセットアップ (スキーマ初期化) 0.008 秒 0.2%
キャッシュウォームアップ 0.003 秒 0.1%
初回リクエスト待機・処理 0.141 秒 3.1%

💡 計測に基づくコールドスタート改善案

  • GCSダウンロードに時間がかかっています (1.69秒):
    • Cloud RunコンテナとGCSバケットが同じリージョンに配置されているか確認してください(リージョン間通信のオーバーヘッドを削減)。
    • entrypoint.sh で毎回DBをダウンロードするのではなく、ローカルDBの初期サイズを小さく抑えるか、あるいはダウンロードを非同期でバックグラウンド実行することを検討してください。
  • アプリのモジュールインポート(依存ライブラリのロード)が遅いです (2.65秒):
    • 特に重いモジュール(例: playwrightgoogle.cloud.storage など)は、起動時にインポートするのではなく、実際のスクレイピング処理やGCS同期が呼び出されたタイミングで遅延インポート(lazy import)を行うようにリファクタリングすることで、起動時間を大幅に短縮できます。
  • 全体的な改善案 (Cloud Run設定):
    • Cloud Runの「最小インスタンス数 (Min instances)」を 1 以上に設定することで、常にコンテナが待機状態になり、コールドスタート自体を完全に回避できます(一番確実かつ推奨の手段です)。
    • コンテナのCPU制限を緩和(例: 1 vCPUから2 vCPUへ)することで、Pythonのインポート速度や初期化速度が向上します。また、起動時のCPUブースト機能(CPU boost)を有効にすることも効果的です。

過去の起動履歴 (直近5件)

起動日時 総起動時間 GCS DL インポート DB初期化 ウォームアップ
2026-08-18 18:51:44 4.51秒 1.69秒 2.65秒 0.01秒 0.00秒