パスワードを忘れた? アカウント作成
15275859 story
インターネット

ワクチン接種の予約受付におけるサーバー負荷について 154

ストーリー by headless
不可 部門より
あるAnonymous Coward 曰く、

各自治体でCOVID-19に対するワクチン接種の予約受付が続々開始されているが、とくに多数の接種希望者が殺到した大都市では住民からの不満の声が渦巻いているようだ(朝日新聞デジタルの記事カナロコの記事デイリースポーツオンラインの記事)。

これら報道の中でとりわけ興味深かったのは、横浜市の事例で、具体的に予約受付サーバーにおける瞬間的負荷が報じられていたことだ。それによると、

1分あたり最大100万件のアクセスを想定していたが、開始直後に200万件のアクセスがあった

とのことであり、秒間1万6千強の要求を想定していたところ、実際には3万3千あまりの要求があったことが伺える。

タレコミ主は瞬間的な高負荷が予想されるような大規模サーバーの構築に携わったことはないが、通販サイトの構築の一端を担った経験から、静的なレスポンスを返すだけの単純な処理にとどまらずバックエンドのDBでのトランザクションを含めた処理も考慮しての高負荷処理への対応はそもそもどの程度まで可能なのか、技術的観点から興味がある。ざっと調べたところ、あるネットゲームでは秒間10万のトランザクションが可能ということなので、横浜市の事例は十分対応可能範囲内に収まる計算にはなる (編注: 記事で言及されているのはCygamesのシステムで、東証アローヘッドやTwitterよりも規模が大きい)。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2021年05月05日 18時48分 (#4025309)

    CDN(ここではCloudflare)が待機室を提供するサービス。
    アクセスしたユーザが、CDNでキューイングされるので、オリジンサイトが落ちる最悪の事態が防げる。
    キューに入った人には、「おとなしく待ってろよ」みたいなメッセージが出るみたい。

    DNSからCDN(Cloudflare)に向ける必要があるけど、オリジンサイトの修正がほぼ不要なのがメリットかな。
    現時点ではワクチン予約サイト向けに無償で利用できるみたいだけど、実際に利用されてるかどうかは不明。

    https://www.cloudflare.com/ja-jp/waiting-room/ [cloudflare.com]
    https://www.classmethod.cf/fairshot [classmethod.cf]

  • 10万円の給付金の時もそうだったけれど、日本全国で同じことをするのに、バラバラにやらせようとするのが頭が悪い。
    共通の申し込みシステムを国が用意するだけで済むのに。

  • by Anonymous Coward on 2021年05月05日 21時14分 (#4025354)

    東証アローヘッドはサーバー内の処理時間を0.2msec以下に収めて応答してるらしいので、普通のWEBシステムの比較対象に出さないであげて・・・

  • by Anonymous Coward on 2021年05月05日 15時48分 (#4025203)

    横浜市の事例で注意すべき数字としては、
    「予約の対象となった高齢者は80歳以上の計34万人で、HPとコールセンターへの電話で7万5000人分を受け付ける予定だった。」
    というのが挙がるだろう。予約が可能な人々は約34万人なのに開始直後に200万件のアクセス。そんなものだろうか。
    しかし、家族の祖父母の予約を取るべく若手皆でアクセスして予約を試みるみたいな話もネットにはあるので、200万件ものアクセスとなったのだろうか。

    まぁそもそもこうやって予約を取る形式では殺到するのが必至なのであって、高齢者なぞどうせ暇なのだから、
    最初から行政が日時を指定してその日時を封書で送り、都合の悪い人は電話やインターネットでアクセスして変更するという形式にすべきだったという主張もある。
    ただ高齢者自身が暇だったとしても、付添をしたり自家用車で会場に連れていく家族は暇ではないとも言える。

    • Re:Anonymous Coward (スコア:3, すばらしい洞察)

      by Anonymous Coward on 2021年05月05日 15時59分 (#4025213)

      単に制度設計の問題のように思えます。
      上のコメントでもあるように、本来は一人1回の受付ならたいした負荷ではないはず。
      事前の周知が不十分なまま、完全早い者勝ちの予約にしたから負荷が集中しただけ。

      私も行政が接種日をランダムに決めればいいともうのですが、不公平だと不満がでるのでしょうか。
      それなら他国に見習って、属性によって受付日や接種日を制限したらいいと思う。
      誕生月ごとに受付日を分散するだけでも、負荷は数分の一に減らせる。

      親コメント
      • Re:Anonymous Coward (スコア:3, すばらしい洞察)

        by Anonymous Coward on 2021年05月05日 16時34分 (#4025237)

        >完全早い者勝ちの予約にしたから負荷が集中しただけ。
        激しく同意。
        先着ではなく、「第一次予約,○月1日0時から7日0時まで……」みたいにして
        その期間内ならいつ予約しても同じってルールにしておけば、そこまで殺到
        しないし、仮に今重くて繋がらないなら数時間後にやり直せばいいだけ。

        なんで分かってない人は「先着」ロジックを入れたがるのか。先着は最悪なのに。

        >行政が接種日をランダムに決めればいいともうのですが
        さすがにランダムじゃイロイロ難しいんじゃない?
        この日は手術の予約が入ってるとか、一人じゃいけなくて介護する人の
        予定で何曜日じゃないとダメとか、個別の事情は様々だろうし。

        親コメント
        • by Anonymous Coward on 2021年05月05日 18時37分 (#4025308)

          日付日時の第三希望くらいまで入れさせておいて各枠内で抽選すりゃいいだけなのにな。

          ただ、「だけ」と言い切るのは雑だけどな。先着順は抽選システムから抽選機能を省いたつくりだから、
          「ネットに予約システムを公開したら数百万件のアクセスが集中するのは当たり前」という常識がなければ、
          わざわざ公平かつ低負荷な抽選機能を入れようという行動には繋がりにくい。

          親コメント
      • by Anonymous Coward

        >誕生月ごとに受付日を分散するだけでも、負荷は数分の一に減らせる。
        あんまり詳しくないんだけど、送付した案内状に記載した受付サーバーを誕生月別に
        uketuke01,uketuke02,,,,, uketuke12
        にわけるだけでも負荷最大12分の1やないのかな。12個サーバー立てるのが難しかったのか?
        サーバー一回立ち上げたら維持費大変か?そんなことないでしょ。いまなら、AWSとかCloudでスケーラブルにサーバー立てられるのに請負業者は提案できなかったんかな?

        • Re:Anonymous Coward (スコア:3, 参考になる)

          by zeppeli (37431) on 2021年05月05日 16時18分 (#4025226)

          うちは世田谷でしたけれど、ログインに成功した後はナンバリングしているようなサーバー名が表示されていましたよ
          確か34とかなんとか

          重いことは重かったのですが、F5を繰り返していれば途中で弾かれたりはせずに登録できましたね

          親コメント
          • by Anonymous Coward on 2021年05月05日 22時49分 (#4025391)

            世田谷区ですが、2日目でようやく登録できました。
            たしか5分前時点ででつながらないようになってましたね。

            トラブル案件で健康診断キャンセル2回したので電話で申し込みになったので今年も忘れそうです。

            親コメント
        • by Anonymous Coward on 2021年05月05日 16時35分 (#4025238)

          トランザクション処理+排他制御(1人1予約)が入るから、(アルゴリズムに工夫を入れないと)単純にサーバを増やすだけじゃさばききれないよ。
          「過負荷に耐えるWebの作り方――国民的アイドルグループ選抜総選挙の舞台裏」(2013年12月)を読むと分かるけど、Webブラウザってアプリと違って自由なふるまいするし。AKB48の総選挙より高いか同程度の負荷ってかなりつらいよ。

          親コメント
          • by Anonymous Coward on 2021年05月05日 21時34分 (#4025360)

            タレコミ主です。

            「過負荷に耐えるWebの作り方――国民的アイドルグループ選抜総選挙の舞台裏」(2013年12月)を読むと分かるけど

            なるほど、こういうのを探すことができれば端的に個人的な興味を充足させることができたわけですね。
            うちも1つ上の#4025226のコメ主と同じで世田谷だったんですけど、エラーメッセージなどからすると選定業者はまさにこのパイプドビッツ [pi-pe.co.jp]というところでした。
            そうなると、すくなくともこうした高負荷・過負荷に耐えるような技術力は持っていたということは認めるべきで、それ以上の負荷がかかってしまったということなのでしょうかね。
            それともそもそも手に余るような処理だったんでしょうか。想定しうる負荷を見積もる能力も含めての"技術力"と考えれば、こちらの捉え方のほうが的確か。
            その辺のところを今後に向けても(注文主・請負主ともに)きちんと検証してもらいたいところです。

            親コメント
    • by Anonymous Coward on 2021年05月06日 12時50分 (#4025569)

      親が横浜市に住んでいるので、私のほうで予約を取るようにしていたので、200万アクセスの片棒を担いだ一人です。

      対象となる方が、約53万人で、その人全員に対して、3日 9時から予約申し込みをさせるのですから、
      こうなるのは、予想していましたが、あまりにも無策でしたね。

      さらに、この日は休日なので、家族全員でアクセスをしたところもあるでしょうから、
      もっと多めのアクセス数を見積もるべきだと思います。

      区ごとにサーバを分けるなり、人によって開始時期をランダムにするなど、
      もっと負荷分散をするべきだったかなと思います。

      ソシャゲ運用をしたことのある会社なら、うまくいったのかもしれません。
      有名なIPものだと、サービス開始やCMを打ったあとは、もっとアクセス数は集中するので

      親コメント
  • by Anonymous Coward on 2021年05月05日 15時50分 (#4025205)

    史上最大の最大瞬間風速に対応するべきか、そこまでは想定しない瞬間最大風速にすべきかという考え方ではだめかなあ?
    神奈川の中でも自治体をして申し込めるようにすれば、最初は横浜市中区、次は川崎市中川区、みたいにすれば負荷は減らせるような。
    それでも今回は厳しいか。

  • by Anonymous Coward on 2021年05月05日 15時55分 (#4025207)

    予約対象者は34万人しかいないから100万アクセス/分は妥当そうにみえるんだけど、何をどうすれば200万アクセス/分も来るんだろ。攻撃も受けていたのかな?

    • 予約対象者は34万人しかいないから100万アクセス/分は妥当そうにみえるんだけど、何をどうすれば200万アクセス/分も来るんだろ。攻撃も受けていたのかな?

      想像(偏見?)ですが、80歳以上だとWEBから予約できる人は少数で、電話が多いでしょうね。
      予約可能対象者(max34万人)ではない人たちからのアクセスが殺到してそう。
      ・高齢者周辺で代行で予約をしようとした友人家族や介護をしている方達。
      ・対象者ではなくて興味本位でアクセス(マスコミ?)。
      ・それ以外(攻撃?)。

      そして 05/05 09:00から再開してたらしい
      https://www.city.yokohama.lg.jp/kurashi/kenko-iryo/yobosesshu/vaccine/... [yokohama.lg.jp]
      集団接種は5月17日から開始だそうで、市内全域で集団接種できるのは6月以降みたいですね。

      順番は
      1.医療従事者
      2.高齢者、80歳以上、65歳以上 -5/17,6月から
      3.基礎疾患持ち -夏?
      4.その他の人 -秋以降(冬)?

      2回目3回目の予定はあるのかな。

      親コメント
      • by Anonymous Coward

        繋がらないからってリロードしまくりだと思うけど、タイミングに合わせてDoS攻撃したバカがいる可能性も多少はあるかもね。

        それでもアクセス過多で遅延や接続不能は兎も角、システムダウンしちゃうのはダメだと思うけど。

    • by Anonymous Coward on 2021年05月05日 16時04分 (#4025215)

      一人が申し込むのにhtmlファイル1個だけを表示して終わりってわけじゃないからな

      親コメント
    • by Anonymous Coward on 2021年05月05日 16時04分 (#4025216)

      アクセスして何も表示なかったら1分も待たずにリロードなりするだろ。
      表示されても1ページ1分ってわけでもないだろ。
      本当に考えてたのは何人からのアクセスを考えていたのか

      親コメント
      • 義母のために実際にアクセスして思ったんだが、 高負荷になって、「混みあってます、暫くしてからアクセスしてください」の旨の メッセージをすぐに出すもんだから、即座にリロードになってたと思う。 読み込み中クルクルみたいな表示をして30秒くらい待たせてからエラー表示に するだけで解決するかもしれないと思った。 あとは9時スタートで早いもの順というのも一斉に負荷がかかるわけで、 9時スタートと言いつつ、しれっと8時頃に開始するとかでもいいかも。
        親コメント
      • by Anonymous Coward

        これもあるね。表示遅かったら5秒でも待たずにページ更新するんじゃない。

  • 個人や家庭ごとに交通手段が異なるから行ける接種会場に限りがあり
    都合の良いところを選べと言う話なのだろうか。

    個人や家庭ごとに交通手段を確保している勤務先や就学先があるからそこに集約させればいいように思うけど
    インフルエンザ予防接種では勤務先や就学先ごとの接種があるのでそれでいいのでは?

    • by Anonymous Coward on 2021年05月05日 16時24分 (#4025231)

      「会場に直接行け」って言ったら、そこで三密作ってクラスタが発生するからだよ。
      事前に予約をとって日時と会場を、計画的にばらけさせる必要がある。

      今は発熱外来も予約とれって言われるそうだね。さもありなん。

      親コメント
    • by Anonymous Coward

      インフルエンザワクチンより取り扱いが難しい(温度条件等)
      例年のインフルエンザワクチンほど供給が追いついていない(順次追加される)
      最終的な接種の必要数は例年のインフルエンザワクチンより多い

      条件が違いすぎて同一視は無理。

    • by Anonymous Coward

      他者よりも早く、1日でも早くという人がそこそこの数いるのでしょうね。
      行政側が整理して決めると、どこが早かった遅かったと揉めそう。

      だからそういう行政の手間は放棄して、完全早い者勝ちにしたと。
      面倒な人と優先順位で揉めるより、予約殺到で大変ですと不満のはけ口にしておけばいい。
      少し経った後なら、行政側で接種場所や順番決めても、そういう面倒な人は既に終わってるので平和そう。

      #後半は個人の妄想ですよ

      • 役人AC

        どこが早かった遅かったと揉めそう。だからそういう行政の手間は放棄して、完全早い者勝ちにしたと。

        よくある役所の方策
        合理的解決策よりも、いかに文句を言われないかの方策を採る

        だがしかし、

        予約殺到で大変ですと不満のはけ口にしておけばいい。

        このコストは払いたくない。
        承認欲求の強い義憤に駆られた高齢者が、数人/日くらい電話を掛けてくると、役人の人件費がそれに食われてしまう。

        親コメント
typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...