スマホでWebを見る人が増えると、サーバーの設定を変えなきゃいけなくなった話
今日は、スマホ対応の話題を。スマホでサイトを見ると人が増えるにつれ、Webサーバーが実は大変なことになって(特に昼時)、ちゃんと見られるようにするために、Webサーバーの設定を変えなきゃいけなくなったという話です。
みなさんのサイト、お昼休みのタイミングとかに、表示するのに時間がかかるようになっていたりしませんか?
Web担でも、スマホでサイトを見る人が増えているのですが、昼時(12:00~14:00)にサイトの反応が重くなってしまう状況が増えていました。
おかしいな、と思ってWebサーバーの状況を見ると、大変なことになっていました。
接続処理中の状況が大量にあり、接続によってはアクセス開始から数分間「接続受付中」だったりと、通常では考えられない状況でした。
わかりやすく言うと「もうダメ、これ以上アクセスが来ても処理できないです」という状態でした。
Yahoo!砲などの大量アクセスがあったわけでもないのになぜだろうと考えて、思い当たったのがスマホでした。特に、スマートニュースやグノシーなどのニュース系アプリからのアクセスですね。
PCからのサイト閲覧が中心のとき問題なかったのに、同じアクセス数でもスマホからのアクセスが増えるとWebサーバーがいっぱいいっぱいになってしまうことがあるのです。
ガラケー向けのケータイサイトをやっていた人には当然のことなのですが、モバイルからのアクセスというのは、サーバーから見るとちょっと面倒なんです。通信速度は遅いし(つまりデータの送受信に時間がかかる)、接続の途中で電波の状況が悪くなってしまうこともある。
PCからの接続ならば、さくっとWebサーバーにつながって、さくっとデータを送信して、とすぐにアクセスをさばけるのに、モバイルからのアクセスだとそうはいかず、アクセスの処理に手間取ったりうまくいかなかったりするんですね。
1つの「Webサーバー」は、そうしたアクセスを処理する窓口をたくさん用意しているのですが、スマホからのアクセスが増えたために、用意した窓口がいっぱいいっぱいになってしまっていたということですね。
Web担では、サーバーを再起動したりいろいろ試していたのですが、結局はあきらめてサーバーの設定を変えて、「アクセスの窓口」を増やしました。
この窓口は、1つ増やすごとに使うメモリが増えます。なので、サーバーのメモリも増やしてもらいました。
ちなみに、こういう場合の対応としては、「リバースプロクシ」という仕組みがあります。これは、Webサーバーとユーザーの間に1つ「リバースプロクシ」と呼ばれるサーバーを立てる方法です。
リバースプロクシが接続対応をして、本物のWebサーバーから引っ張ってきたデータをユーザーに返すという仕組みですね。
この方法の利点は、接続対応をするリバースプロクシ側で窓口を増やしても、本物のWebサーバーの窓口を増やすのに比べてハードウェアで必要なメモリ量がさほど多くないという点ですね。リバースプロクシはCMSを動かしたりしないので、1つひとつの窓口が軽いのです。
うちではリバースプロクシは建ててなかったので今回は本物のWebサーバーの窓口を増やす方向で対応しましたが、今後のことを考えるとリバースプロクシも検討する必要がありそうです。
御社のサイトでは、スマホの影響でWebサーバーが大変になっていたりしませんか? お昼時などにWebサーバーの状況を確認してみては、いかがでしょうか?
ソーシャルもやってます!