「しょうがない」を測り直したら、取得の費用は8分の1だった
トレカダッシュ 開発の記録 / 2026年10月
iOS アプリ「トレカダッシュ」は、通販サイトなどの販売ページを定期的に見に行って、抽選や先着の情報を集めています。ページの取得は、外部のサービス(Scrape.do)を通して行っていて、取得の設定ごとに、使うクレジットが違います。あるサイトについて、「これはしょうがない」と思っていたことを、測り直したら、3 倍速く、使う量は 8 分の 1になりました。コミットの記録で書きます。
このサイトには、トレカダッシュの作品ページはまだありません。ここに書くのは、開発の記録です。金額は書かず、クレジットの数だけを書きます。
「しょうがない」の理由は、費用だった
イオンスタイルオンラインと、あみあみの 2 サイトは、取得の間隔を縮められない、と考えていました。理由は、取得にかかる費用が重いこと。つまり、古い単価を前提にした結論です。それを、もう一度、測ってみることにしました。
3 つの設定で、同じページを取った
取得の設定は、3 段階あります。単純に取る(1 クレジット)、ブラウザで描画してから取る(render、5 クレジット)、さらに強力な経路で描画して取る(super+render、25 クレジット)。イオンの一覧ページを、この 3 つで取って、中身を比べました。2 ページを、それぞれ 3 回、くり返しています。
| 設定 | クレジット | サイズ(バイト) | 商品 | 価格 |
|---|---|---|---|---|
| 単純に取る | 1 | 649,734 | 20 件 | 25 件 |
| render | 5 | 663,026 | 20 件 | 25 件 |
| super+render | 25 | 669,510 | 20 件 | 25 件 |
3 つとも、取れた商品も価格も、まったく同じでした。つまり、描画(render)は、まるごと無駄だったことになります。1 クレジットで足りるものに、25 クレジット払っていました。
直し方
- 安い設定から先に試す。イオンは、まず単純に取ります。先着の開始時に出る「アクセス集中」のページが返ってきたときだけ、自動で強い設定に切り替えます。
- 間隔を、15 分から 5 分に。5 分おきは、1 日 288 回です。2 ページなので、576 クレジット。前は、1 日に約 4,600 クレジットでした(コミットの記載です)。3 倍速くなって、使う量は約 8 分の 1です。
- あみあみにも、同じ実測の結果を当てた。描画を外して、1 回あたり 5 クレジットから 1 クレジットに。1 日に約 1,200 クレジットの節約です。
ただし、あみあみの間隔は、15 分のままにしました。その日、タイムアウトを 2 回出していて、1 回の実行が 284 秒もかかっていたからです。取得全体も混み合ってきていたので、触らないと決めました。測ったのは「描画が要るか」で、「間隔を縮めても大丈夫か」ではありません。
分かったこと
「しょうがない」は、いつ測った数字に、もとづいているか。
- 古い結論は、測り直す。単価も、設定も、サイトの作りも、変わります。「イオンはしょうがない」は、測ったら、そうではありませんでした。
- 強い設定は、「念のため」で入れがち。必要かどうかは、結果を比べれば分かります。同じ結果が出るなら、安いほうで足ります。
- 一つ直したら、他の条件も確かめる。同じ測定で、あみあみの設定も直せましたが、間隔は別の事情(タイムアウト)があるので、そのままにしました。
この記事の数字は、コミット(2026年9月7日)の記録から取りました。「4,600」は、コミットの記載で、25 クレジット × 2 ページ × 96 回(15 分おき)の計算(4,800)とは、少しずれています。
この話に出てくるもの
- 「減るはず」が、二度外れた — 同じアプリの、AI への問い合わせの記録
- 「9種セット」の正体は御三家9商品だった — 同じアプリの、突き合わせの記録
ほかの記録
- 「減るはず」が、二度外れた:AIへの問い合わせを削る話 — トレカ情報アプリで、AI への問い合わせを減らそうとした記録。45%減るはずが4.5%、配備したのに束ねが0回。数え直して見つかったことを、コミットの数字で書いた。
- 無料枠を半分しか使わない番付にした:呼び出し5回を2回に — 番付サーバーが無料枠を使う量を半分にした。一人が遊ぶ一回の呼び出しは5回から2回、読んだ行は421から221へ。順位の数え方と、前置きの呼び出しをなくした経緯。
- App Store 審査で「Guideline 2.1 Information Needed」が届いた:求められた6つ — 初めての審査で届いたのは、不合格ではなく Guideline 2.1「Information Needed」だった。求められた六つ(実機の画面収録、目的、外部サービスの一覧など)と、前に直したこととのつながり。
コメント
感想や、記事の間違いの指摘は、ここへ。書くには、GitHub のアカウントが要ります。
押すと、giscus(giscus.app)と GitHub に接続します。押さなければ、接続しません。詳しくはあつかいに書いています。