勤怠管理システムが数年前の導入時から、夜間に停止(IISのサービスが落ちる)します。


○やりたいこと
サーバの性能不足を説明し、サーバの買い替えを行いたい。
しかし、夜間のWEBサーバのCPU、DISK、メモリの負荷が大きくない(100%が連続しない)ので、性能不足とも言えないため、他に調査すべきパフォーマンスカウンタを教えてください。

○構成
DBサーバ(windows2000,oracle8i),WEBサーバ(windows2000,iis5.0)共に1台構成。
言語はASPでミドルウェアにOO4Oを使用。
○調べたこと
・各サーバのパフォーマンスカウンタでCPU、DISK、メモリの負荷を調査。しかし、使用率が100%が連続しない(大体50%前後)し、使えるメモリ(averable bytes)も60%以上ある。
・IISが停止する時間帯に、windows update,ウィルススキャン、バックアップは行っていない。
・oracleのstatspackを見ると、diskのリードタイムが長いので、フルテーブルスキャンが多発している。しかし、そもそもリクエストが少ないので、IISがネックになりDBサーバにリクエストが来ていないと考えている。つまり、原因はWEBサーバ(IIS)にありそうだ。
・WEBサーバのパフォーマンスカウンタでcurrent sessionは常時100程度。
・セッションタイムアウトは90分。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2006/12/06 02:35:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント27pt

状況を見る限り、一概に性能を上げれば改善できるかどうか怪しい事と、問題の本質をつかんでから出ないとどの部分にお金をかけるかが判断できないのでもう少し調査をするべきだと思います。


CPU使用率が上がりきっていないことから、メモリとディスクを疑うところから始めてはどうでしょうか?

http://www.voice-com.net/news/winpfm/index.html

さしあたり、

・Memory\Page/sec

・PhysicalDisk\% Read/sec

・PhysicalDisk\% Writes/sec

・PhysicalDisk\%Avg Disk Queue Length

あたりを監視すべきでしょう。


一般論としては「フルテーブルスキャンが多発」というのは絶対に避けるべき状況です。

ほとんどの場合クエリの見直し、インデックスの作成によって回避でき、効果は大きいです。


セッション周りについてはユーザー数が分からないのでなんともいえないですが、セッション保持にコストがかかっているようであれば、タイムアウトを短くしてみるのも手かもしれません。


あくまで書かれていることからの推測ですがフルテーブルスキャンの多発により他のI/Oも引きずられて遅くなっているようにも見えます。

id:kuruma_neko

本日、ヘルプを見ながら関係のありそうなカウンタを仕掛けて、推移を見ました。Disk queueは2以上ある場合もありましたので、ネックの可能性があります。また、ユーザ数は100程度です。タイムアウトは確かに意味もなく長いので10分程度に変更してみます。

2006/11/29 21:55:22
id:gyamson No.2

回答回数6ベストアンサー獲得回数0

ポイント27pt

IISのログおよびイベントログは確認されたでしょうか?

停止する時間帯にエラーが出ていれば原因を調査する手がかりになると思います。

以下、ご参考になれば。

ウイルス対策ソフトウェアが原因で IIS が突然停止することがある

http://support.microsoft.com/kb/821749/ja

Code Red による深刻な問題に対する防護策と対処方法についての説明

http://www.microsoft.com/japan/technet/security/alerts/codeptch....

id:kuruma_neko

イベントログには、エラーが載っていませんでした。IISログには、HTTP500が数十個ほど載っていました。WEBサーバの処理が追いつかなくて、HTTP500を返していると思われますが、CPU、DISK、メモリは異常値というほどでもありません。

2006/11/29 21:59:01
id:ma-kanoh No.3

回答回数155ベストアンサー獲得回数4

ポイント26pt

「勤怠管理システム」そのものの性能は問題ないんですか。

IIS(Webサーバ)の処理が追いつかないのであれば、そもそもHTTP500自体を返せないはずです。

500を返しているということは、IISは処理を請け負ってて、「勤怠管理システム」がとまっているという事なのでは。

id:kuruma_neko

勤怠管理システムは某ベンダー製なのですが、何故か保守に入っておらず、勤怠管理システムそのものの性能の問題があるかどうかはわかりません。そのため、パフォーマンスカウンタやstatspackで調査しているという状況です。

2006/11/30 00:42:36

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません