情報システムの設計には、とうぜんのことながら、時間当たり処理件数というのがきわめて重要です。フィードを追って HTTP ゲットしてファイルに書き出すだけのプログラムでさえ、スループットの限度というものがあります。
令和元年10月12日から台風第19号が日本を通過しました(11日報道発表;特別警報発表12日7都県、12日5県、13日岩手県;直近実況)。このさい大量の電文の通数をメモしておきます。
日付 | 通数 | EAGAIN発生数 |
---|---|---|
2019-10-06 | 2780 | >6* |
2019-10-07 | 2796 | 11 |
2019-10-08 | 3354 | 15 |
2019-10-09 | 3120 | 8 |
2019-10-10 | 3130 | 14 |
2019-10-11 | 4246 | 12 |
2019-10-12 | 7540 | 49 |
2019-10-13 | 4352 | 23 |
2019-10-14 | 3548 | 13 |
通数はダウンロードしたXML電文の数。EAGAIN発生数は、毎分起動している取得プログラムが1分以内にダウンロードを終えることができず、次回起動がキャンセルされた数です。2019-10-06の途中でEAGAIN発生数を記録しはじめたので「>6*」は参考値です。
さしあたり読み取れること
- 荒天時は電文通数が急増し、ざっくり3倍くらいになる
- EAGAIN(1分間に現れた4つのフィードの指示する電文をダウンロードする処理に1分以上かかってしまうこと)は、一番荒れた12日は49回も発生してしまったが、立て続けに発生して受信漏れが起こるというほどではない
- サンプルが少ないが、通数と EAGAIN 発生数にはリニアな関係があるという仮定に大きく矛盾するデータは見出されていない
EAGAIN が2分連続で発生すると、つまり1回のダウンロード処理に足掛け3分かけていてとっても長いわけですが、ログを読んだんですけど12日16:02、16:03が連続EAGAIN爆死した回しか発生していないようです。ここではいくつかの警報と48時間予想天気図(ファイルサイズがでかい)が一気に出ています。まあ今のロジックにこだわらず、regular.xml より extra.xml を優先したら話もかわるでしょう。