サーバーが遅い7つの理由 WEBサーバーチューニングの前に | ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

ITサポート出張、ITシステム開発・保守をワンストップで|AWSクラウド|東京都中央区八丁堀

ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

電話でのお問い合わせ

サーバーが遅い7つの理由 WEBサーバーチューニングの前に

      2016/04/08

サーバー スペック メモリ 診断 どれだけ 必要か 設定例 スペック

 

弊社ではサーバー高速化ソリューションをご提供していますが、チューニング前に診断としてリソース具合やボトルネックの有無を事前調査させて頂いています。

 

高速化の為のミドルウェアのチューニングの他に、実はプログラムのボトルネック対応も大きい部分だったりします。クライアント様システム固有の部分も多く、詳細は公開できないのですが、よくあるパターンをご紹介します。

サーバーが遅い原因はエラーが起こっている

これが一番多い原因がかもしれません。

実際にサーバー内部で動かしているスクリプトやモジュールにて設計的にミスをしており、構築・設計時には問題がなかったのに環境をアップデートした事によるエラーが出ることも多いです。実際にはエラーが出ているのに、スクリプトの設定で非表示にしており、毎分数十MB単位でエラーを吐いていることもあります。これではIOが勿体ないですね。

 

無駄なエラー処理で負荷がかかりますし、遅くなります。しいては不安定さに繋がります。エラー通知でサーバー容量が一杯になり処理できなくなることもあります。プログラムを動かすだけでなく、ぜひ、サーバーの悲鳴に耳を傾けた開発を。

 

特にPHPなどのスクリプトは変数の扱いが柔軟な故にアクセス毎に通知エラー・・・×1000×n。関数の引数記述ミス、初期化処理の忘れなどありがちで、大量にあると性能低下、あらゆる不具合に。また確認の際にログが多すぎると全て確認するのに障害時の切り分けが困難になります。だからと言って、ログレベルを上げて無視するのは良くありません。Noticeレベルに起因する箇所が動作不良の原因である事があります。ミドルウェアは多少エラーがあっても起動出来る事が多いですが、動作が不安定になりがちです。

 

ぜひ、まずはこちらを行いましょう。

重い処理がある

重要ではない機能で重いものがある場合、お客様と相談して切り捨ててしまうという手があります。重要ではないのだから。

 

特にサードパーティ製のプラグインなどは気をつけてみましょう。

例としてはWordPressで”使ってないけど入れている”というプラグインが原因というのも時々見かけます。

 

メモリリークが起こっている メモリがいつまでも開放されない

これは該当箇所を探すのがとても大変です。砂漠で花を探す。エラーであればログがありますがループ処理はエラーでないだけに、探すのが大変です。もちろん開発環境で行ってもらえば直ぐ見つかりますが、オープンソース系のプラグインなどを入れて競合する場合などはサーバー上で探すのは困難です。

 

対策としては、メモリを開放するようにコードを修正するのが一番です。古いプログラムでありがちで、バージョンの高いプログラムはメモリの扱いが改善されているので、バージョンの高いもので動くように対応するなど。放置すると不安定さに繋がります。

 

サーバーに数人が同時にアクセスすると落ちる

大量の処理遅延。SSHも応答しなくなることもあります。

プログラム設計上のエラーの可能性が高いですが、ループしているなど理由はさまざま。

while(1){echo “絶望がありあまる”;}

ループは既定の設定により一定時間や処理で一応終わるものの、無駄なループがあるケース。階層絡みのループで取得して表示処理する箇所など追っていくしかありません。

 

クエリ実行が長い

サーバーが遅い理由でよく見かけるのが、データベースへの命令が10秒以上処理にかかっていたりすることも見かけます。

こちらはクエリの改善やテーブルやカラムの設定を変更する対応が必要です。

 

データベースが落ちる

データベースが遅い事に続いてデッドロックの可能性があることがあります。トランザクションがあってもロールバック処理がなかったりするなど。処理の追加、サーバー側でタイムアウト設定など対応が多いです。

 

既にクラックされている

WebShellやウィルスなど不正なプログラムが設置されてしまっている、rootやadminを第三者に取られて外部に攻撃を行っているのも見かけます。お客様の提供するアカウントではサーバーログインが不能!?よくあるのがIP接続制限によるもので音信不通の元開発者のネットワークからしか入れないとか。契約前の調査で、既に予戦が始まっている

 

そんなわけでSSHが不能な場合は裏口から解決する事が多いです。鍵認証していてもこれだと意味あるのかな?とちょっと疑問ですが、仕事では助かっています。CMSの場合は人気のCMSほど攻撃されやすいので、攻撃を感知する仕組み、管理画面のURL変更・IP制限など攻撃されにくい仕組みを用意するのが有効。

 

お客様に聞くレンタルサーバ屋さんの対応

1つのサーバーにたくさんのユーザを収容するレンタルサーバ屋さんは、サーバーに負荷をかける問題のあるプログラムをユーザが動かしている場合、プログラム改善の勧告を行い、ユーザ側で対応が出来ない場合は1日~3日で契約解除になる場合が多いようです。安価なサービスなのでしょうがないのかなと・・・。中には1ユーザの為にフレキシブルに奔走してくれる驚くべきサーバ業者さんの存在もあり。凄い。

 まとめ

 

問題のあるプログラムもひとまずキャッシュによりそこそこ早く動いてしまうので、ちょっとしたものならサービス内で対応していますが、中規模なシステム全体に及ぶ改修となるとクライアント様の予算がおりにくく、不安定になるのはわかっていても対応が難しい場合もあったりなかったり。暫定処置としてプロセスが落ちても即座に自動再起動する仕組みやCronで適度に開放対応するなど予算などの条件の中でベストを尽くしています。ぜひお気軽にご相談を

 

 

優 ( 担当エンジニア )

 

システムガーディアン爆弾処理班
アクセス負荷対策などNginxへの移行案件が多いこの頃。AzureやAWSなどクラウド案件も多くなってきました。

 - Linux/UNIX, テクニカル

  関連記事

SSH IPアクセス制限
SSHのIPアクセス制限 まとめ

目次1 SSHって2 ということは・・3 【TCP Wrapper】4 【iptables】5 【sshd認証】6 【pam認証】 SSHって サーバーにリモー …

nginx_20160530_1
NginxでPerlを動かす CentOS6

Movable TypeなどでまだまだPerlの需要があります。 今回はNginxでPerlを動かす手順のご紹介。     epelリポジト …

TwitterAPI
Twitterのタイムラインを表示する

こんにちは加藤です。 ここ数週間は出先にてお客様との打ち合わせや出先での作業が多く なかなか制作業務に中々時間を避けないのですが、 先日Twitterのタイムラ …

HDDレスキュー
Linux HDD換装 ハードディスクをクローン化

OSごと丸ごとバックアップするクローンディスクのやり方です。 パソコンが壊れた時などにHDDが読み込めないなどの時に対応します。 HDDが読み込めないなどエラー …

CentOS Web Panel
デスク引き出しの開発サーバー

お世話になります。加藤です。 4月2日に法人登記も完了して地道に業務を進めています。 御蔭様で仕事の引き合いもありこちらも頑張ってます。 …が、やはりそうなると …

WordPress S3 CloudFront Nephila clavata による画像サーバ
AWS S3 + Nephila clavataによるWordPress画像サーバ

今回はWordPressのプラグイン【Nephila clavata】を使ってS3にメディアファイルをアップロード出来るようにします。冗長化の基本は単一障害点を …

GMO VPS
GMO VPS Plesk +バリュードメインの移行記録

お世話になります。加藤です。 連続の出張と徹夜から開けて新川の深夜食堂でホッピー飲みながら 過労死する前に求人早く出さなきゃと黄昏れている毎日です。 ちなみに深 …

WEBサイト移転 引っ越し 方法 リダイレクト .htaccess
WEBサイトの移転 301リダイレクトとGoogleが勧めるお引っ越し方法

目次1 WEBサイトのお引越し2 どうして手順が必要なの?3 ・問い合わせ件数の減少は利益の減少 ・WEBサービス企業なら株価の下落 ・URL変更に伴う既存顧客 …

GMO VPS
GMO VPS クラウド IMAP メール設定

お世話になります。加藤です。 先日から諸々のサーバ移動の作業を夜間に行っています。 GMO VPS PLESKでIMAP設定で少し躓いたので、技術的に書いておき …

高速WEBサーバー サーバーダウン 505 落ちないWEBサーバー
Nginxのインストール 高速軽量WEBサーバー C10K

目次1 Nginx?2 非同期イベント駆動型のWEBサーバ3 WordPress.comでも採用4  ただし設定が大変 属人化の危険性5  WEBサーバーだけじ …

トップページ