サラリーマンのすらすらIT日記

IT関連を中心とした日々を綴ります。
--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2012/08/31

サーバをAPとDBに分けたにもかかわらず遅くなったのは...

先日、あるアプリケーションのレスポンスを向上させるために、サーバ機能を1台構成から、APサーバとDBサーバの2台構成に変更しました。変更後、自分でアクセスしてみると確かに速くなっているようでした。

本番運用を始めたところ何人かの人から、遅くなったとの連絡がありました。そんなはずはない、DBサーバにはSQLの実行に一定以上の時間がかかるものをログに残すようにしていますが、そのログの数が圧倒的に減っているのですから。どういう処理を実行する時に遅くなるのかを確認すると、特定の処理の時だけではなさそう。まずはサーバのログを見ることにしました。

ログを見るとDBサーバは問題ないのですが、APサーバの方は時折WarningでApacheの再起動がかかっている様子。Warningの内容は、MaxRequestsPerChildを越えたというもの。とりあえず設定を変えて様子を見ようということで、MaxRequestsPerChild=0(無制限)にしたところ、設定変更したその日には同様のWarningは発生しなくなりました。しばらくこの設定で運用を続けて様子をみるつもりです。

このMaxRequestsPerChildディレクティブの設定は5000にしていますが、これはAP・DB1台構成の時と同じ。1台構成の時は出なかったWarningです。なぜ2台構成にするとWarningが出るようになったのか?原因を特定するのが難しいですが、想像するにAP・DB1台構成の時はDB処理に負荷がかかっているため、OSがAP処理に割けるRequestが少なかったため、MaxRequestsPerChild=5000以下のRequestだったのでしょう。しかし、AP・DB2台構成になって、OSがAPサーバの処理に割けるRequestが増したため、MaxRequestsPerChild=5000を越えるRequestが発生してWarningになったのかもしれません。

今回、Apacheのチューニングのため、いろんな本を開いたりWeb情報を検索したりしました。Apacheのチューニングは非常に奥が深いと感じました。またWindows用のApacheの限界も知りました(プロセスを1個しか生成できないとか、指定できるディレクティブが限られているなど)。最大限のスループットを引き出すには、LinuxなどのUNIX系のOSがふさわしいようです。

スポンサーサイト

コメント

コメントの投稿

  • URL
  • コメント
  • パスワード
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL:http://sookibizviz.blog81.fc2.com/tb.php/1304-5c0ed615

■  カレンダー

06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

■  プロフィール

sookibizviz

Author:sookibizviz
仕事の内容やソフトの紹介を交えながら、日々の悪戦苦闘を綴っていきます。

■  最新記事

■  最新コメント

■  最新トラックバック

■  月別アーカイブ

■  カテゴリ

未分類 (64)
BizViz (24)
IT (1119)
計量 (76)
環境 (26)
数学 (181)
ニュース (46)
本 (187)
音楽 (113)
囲碁 (5)
将棋 (26)
ブログ (14)
日記 (19)

■  FC2カウンター

■  検索フォーム

■  RSSリンクの表示

■  QRコード

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。