※ ChatGPTを利用し、要約された質問です(原文:海外サーバ利用時にのみサーバへ極端な負荷が)
海外サーバ利用時にのみサーバへ極端な負荷が
このQ&Aのポイント
海外サーバを利用すると、サーバへの負荷が非常に高くなる問題が発生しています。
国内サーバでは同じシステムが快適に動作しているのに対し、海外サーバでは動作が鈍くなる現象が起きています。
問題の発生した海外サーバの中には、アカウントが停止されるほどの負荷がかかっているものもあります。
簡易的なブログシステムをフルスクラッチで作成しました。
XAMPPでテストしていますし、まったく同じシステムを国内サーバで快適に運用しています。
無料サーバでテストした際の事も含めると、国内10サーバ程では問題が発生しませんでした。
安価さ大容量さに釣られてこのたび海外サーバをレンタルしたのですが、国内サーバでは快適に動作した該当システムが非常に動作が鈍くなりました。
伝送距離の問題ではあり得ないレベルです。
海外の無料レンタルサーバ、数社を試しましたがそのうち一社を除きすべてのサーバで同現象です。
問題の発生したサーバのうち一社からは、サーバに負荷を掛けた事が理由でアカウントを停止させられました。
海外サーバにのみ発生するという事で、マルチバイト絡みかとも思えますが、php_infoを確認してもmb_stringが使用できる事を確認しています。
ページが文字化けしているという現象も発生していません。
問題が発生したサーバのうちの一つは、日本語版のWordpressをインストールして運用しても、何も問題は発生していません。
PHPは5で書いていて、対象サーバはすべて5以上を確認しています。
PHPソースコード、HTMLの文字コードもすべてUTF-8で統一しています。BOMも無しです。
DBはMySQLで文字コードはUTF-8、DBへの接続はPearのMDB2を利用していて、ライブラリのバージョンは最新のものです。
テンプレートシステムとしてSmartyを利用しています。
.htaccessでmod_rewriteを使用しています。
問題を切り分けるためにテストをしようにも、実サーバ上でしか問題が発生せずに、しかもサーバ負荷が激しいため上手く行かない状態です。
また、サーバ会社はスクリプトの相談に乗って貰えない事や、英語でのやり取りで意思疎通が充分ではない事などがあり、うまく情報が取れません。
現在は海外サーバを利用する事は諦めて、国内サーバで運用している為急ぎではありませんが、後学のためという事もあり、海外サーバにおいて発生する問題について広く意見を聞かせて欲しいと思います。
せっかくレンタルした海外サーバが勿体ないので、問題解決できる事に越した事はありませんが。
よろしくお願いします。
お礼
DBサーバは各サーバで指定されたもの(ほとんどはlocalhost)を指定しています。 外部APIは使用していません。 なので、伝送距離の問題はあり得ない、あくまでサーバ設定の問題を突いてしまったせいだと思い込んでいましたが。 ヒントを受けて、やっぱり伝送距離(速度)の問題も頭に入れて…と、視点を変えて見直してみると、どうやらgethostbyaddrが原因だったようです。 携帯電話とPCを振り分ける処理にIPアドレス範囲を指定すると、キャリアが使用アドレス範囲を変更すると、そのたびに変更の必要がありメンテナンス性が悪い。 そこでホスト名を逆引きして携帯か否かを判別としていたのですが、そこで時間が掛かっていたようです。 原因が判明してみると、コア部分で毎回走っている処理でもあり、うまく切り分けできなかった事や、そこが遅いとサーバに負荷を掛けるほどのレベルになる事、海外サーバの場合に問題が非常に顕著になる事、一つ一つが腑に落ちます。 おそらく問題の発生しなかった唯一の海外サーバは、逆引きの早いものだったのかも知れません。 ※正しい表現かどうか判りませんが、ネームサーバのキャッシュ容量でも多い設定? 該当システムは、厳密に携帯とPCを振り分けする必要はないため、ユーザエージェントで振り分けるようにして、偽装されることも許容するという対処にします。 ありがとうございました。