横浜市で、対象人数が30万人くらいしかいない老人のワクチン予約サイトに200万件のアクセスが集中した件。
これは、サイトの作りが良くないことに起因する。
自治体のサイトのHTMLソースを見てみると分かるが、30~40ファイルくらいの外部ファイル(JavaScript、CSS、画像)がそのページから読み込まれているのが常だ。
つまり1ページの画面表示をするために30~40回のアクセスが発生する。
で、予約などの動的コンテンツの場合は、想定外のトランザクション不具合発生抑止や、申込途中のページが検索エンジンに拾われないようにすることなどを理由に、キャッシュを保持しない仕様としているのが普通だ。
そのため、ブラウザのキャッシュ機能が使えず、1ページ移動するたびに30~40回のアクセスが発生する。
2万人が4ページくらい画面遷移すれば200万アクセスを優に突破する計算だ。
「なんで対象が30万人しかいないのに200万アクセスも来るのか」という理由はここにある。
本来は、この手の動的サイトでは外部ファイルはクライアントサイドではなくサーバーサイドで呼び出して、HTTPアクセス自体は1ページ当たり数回に抑えるべきなのだが、そうなっていないようだ。
画像を極力排するだけでもだいぶマシになったりするのかな
画像は極力減らすに越したことはない。 その上で、JSやCSSはサーバーサイドで書き出すようにした方が良い。
間違った認識だと思う
今どき、静的ファイルはCDNに置かないの