メインコンテンツまでスキップ
バージョン: 0.3.1

サービスの負荷測定

負荷測定ツールは、実際にコンパイルしたDaaS Workerをローカルworkerdで実行します。D1には新しく初期化した独立のデータベースを使います。すべてのレスポンスを検査し、正確な生成件数とDBのカウンターを照合します。本番へリクエストを送ることはありません。

node tools/verify/service-load.mjs --project /path/to/daas --out benchmarks/new-run.json --requests 1000

保存した以前のビルドと比較する場合は --worker RELATIVE_ARTIFACT_PATH を指定します。出力先には新しいパスを使い、過去の測定は上書きしません。レポートには全リクエストのレイテンシー、生成物のSHA-256、ランタイムのバージョン、同時実行数、p50/p95/p99、スループット、失敗、カウンターの照合結果を残します。最初の1リクエストでローカルの起動時間を別に記録し、計測の前に30リクエストでWorkerをウォームアップします。

2026-10-18の比較​

2026-10-18-daas-before-final.json と 2026-10-18-daas-after-final.json には、それぞれ6,000件の測定リクエストを収録しています。生成件数1と100について、同時実行数1・8・32で測りました。どちらも失敗は0件で、起動・ウォームアップを含むD1の合計303,031件と正確に一致しました。比較したバンドルのハッシュは各レポートに記録しています。

更新後のランタイムは、テキスト値ごとに一時的なエンコード配列を確保する代わりに、検証中にUTF-8のバイト数を数えます。検証エラーの順序と言語の割り当て計上は維持しています。生成件数100・同時実行数8では、スループットが351から436リクエスト/秒、p95が26.58から22.55msへ変化しました。生成件数1や一部の末尾側の測定値は良化・悪化の両方があり、一律の高速化を示す結果ではありません。生成件数100・同時実行数32では、スループットは上がりましたがp99は123.17から168.73msになりました。有利なケースだけを選ばず、両方の結果を残します。

これはローカルのランタイムとストレージの測定です。ローカルIPC、ホストのスケジューリング、ガベージコレクションが時間に影響し、通信距離、エッジの配置、本番D1は含みません。同時実行数を固定した閉ループ測定では、到着レートを指定する開ループ測定で現れる待ち行列を見落とす場合もあります。本番のSLOを主張するには、別途許可したステージングへの配備、開ループの到着レート試験、複数地域のクライアント、繰り返し測定が必要です。以前の300リクエストの探索的レポートも保存していますが、最終比較とは区別します。