計算方法と根拠
リクエスト数の求め方
総件数を1ページの件数で割って切り上げた回数が、全件を取るのに必要なリクエスト数です。10,000件を100件ずつなら100回、10,001件なら101回になります。
所要時間の求め方
並列数ぶんのリクエストを同時に送ると仮定し、リクエスト数を並列数で割って切り上げた回数に、1リクエストの所要時間を掛けます。実際にはレート制限や応答時間のばらつきで変わります。
計算例
総件数10,000件・1ページ100件・並列数1・1回0.5秒のとき、リクエスト数は100回、所要時間は50秒です。
使っている式
| 名前 | やっていること | 式 |
|---|---|---|
| 必要なリクエスト数 | 総件数を1ページの件数で割り、切り上げた回数です。 | reqs = ceil(total / page) |
| リクエストの回数(並列のまとまり) | リクエスト数を並列数で割り、切り上げた回数です。 | rounds = ceil(reqs / par) |
| 必要なリクエスト数(結果) | ceil(総件数÷1ページの件数)です。 | reqs |
| 最後のページの件数(結果) | 総件数から、最後の1ページより前の件数を引いた値です。 | total - (reqs - 1) * page |
| 並列のまとまりの回数(結果) | ceil(リクエスト数÷並列数)です。 | rounds |
| 所要時間(結果) | 並列のまとまりの回数×1リクエストの所要時間です。 | rounds * sec |
| 所要時間(分)(結果) | 所要時間(秒)を60で割った値です。 | rounds * sec / 60 |
式の記法: + - * / ^(べき乗)、かっこ、min / max / round / ceil / floor / pow / abs / sqrt、if(条件, 真のとき, 偽のとき)。round(x, 桁) は四捨五入、ceil は切り上げ、floor は切り捨てです。
設定値(定数)と出典
この計算では、税率や料金表などの外部の設定値は使っていません。数学的な定義の式だけで計算しています。
入力できる範囲
| 項目 | 範囲 | 初期値 |
|---|---|---|
| 総件数 | 1〜1,000,000,000件 | 10,000件 |
| 1ページの件数 | 1〜1,000,000件 | 100件 |
| 並列数 | 1〜1,000リクエスト | 1リクエスト |
| 1リクエストの所要時間 | 0.01〜3,600秒 | 0.5秒 |
結果は、同じ条件なら本サイトのどのページでも同じ数字になります(ページの数字も、計算ツールも同じ計算の仕組みで出しています)。
ご利用にあたって
- 入力した数字の算術だけを行います。API提供元のレート制限・利用上限・課金は含めていません。必ず提供元の仕様を確認してください。
- オフセット方式では取得中にデータが増減すると件数がずれることがあり、カーソル方式では総件数が分からないことがあります。ここでは総件数が固定で、全ページが同じ所要時間という単純な前提です。