SAO「同じ自宅サーバー作ろうよ」計画! Ver3.x
 
Windows安定化テスト

HOME

■Windowsで連続運転をするために

私の環境に限定しての話です。個人のテスト結果であり専門家には笑える内容でしょう。
Windowsでのサーバー構築で問題なのは「連続運転が続かない場合がある」事があげられます。しかし人(環境)によって問題なく連続運転している方も多くいます。
私の場合は前者(連続運転不可)でした。で、何がダメになるかと言うと「動作が遅くなる」「反応しなくなる」等の症状が発生しサーバーを再起動って筋書きです。
再起動したら再び調子を取り戻します。←これって結局はメモリ内の状態に問題があるわけです。
私が感じるWindows感は…WinXP以下(ServerOSを除く)の場合、機能優先の思想から安定性、セキュリティに幾らかの手抜きを感じられます。
これは「作業が終わったら電源OFF」が基本って感じです。=メモリ(不安定部分)クリア
ところが私の勘違いしている部分もありまして問題なのはWindowsよりもハード(デバイスドライバ)が不安定の主たる要因と判りました。
デバイスドライバとはWindowと連携して入出力を行う他社のソフトウェアで、ビデオカードやLANカードの中に記録されています(ちょっと違うけど)。
一概には言えませんが安いハードは品質が多少劣りますし安定したデバイスドライバが記録されていません。
この根拠は本物のサーバー機は市販のパソコンの10倍ほどの値段がします(質が別格)。これ壊れません。Windowsでも止まりません。
如何にWindowsとマッチしたハード(デバイスドライバ)を使うかが安定化への指標になるわけです。もちろんUnix系OSにも言える事です。
もしホームサーバーの安定性に問題が感じられたらデバイスドライバを最新のものにアップデートして様子を見てください。

■スワップファイル巨大化による不安定
面白い実験をしたので紹介します。以下は私の環境下(安物PC)でのメモリの監視結果です。
タスクマネージャでは監視できない部分があったので私が作ったメモリ監視ソフトでサーバ内の監視をした結果、(普通は見えない)スワップファイルが巨大化し不安定に陥ることが判明しました。
(タスクマネージャ…見た目では異常と判断できる変化をしていないような…)

サーバーとして常時動いているソフトにファイアーウォール、ウイルススキャン、Webサーバー、メールサーバー等があります。
これら常時入出力をしているソフトは(私の環境下では)スワップファイルが巨大化します。
これは各ソフトの問題も多少あるかも知れませんが、おそらくWindowsやデバイスドライバの仕組みではないかと考えています。

「俺のWin鯖は止まらない」って言ってる方…実はメモリを沢山積んでスワップ領域もタップリ確保してるから不安定症状が出るまでの延命をしてるだけかも知れませんよ。

■スワップファイルの推移(10日間、単位MB)

ウイルススキャン(AVG7)の場合
10日で3MBほどスワップファイルが増えている。
途中でAVG7だけを再起動したところ元のサイズに戻った(この後同様に増えていった)。
SAO


ポートのみをチェックするファイアーウォール(SoftPerfect Personal Firewall)の場合
何ら変化が無く問題なし。
SAO


簡易ファイアーウォール(Sygate Personal Firewall)の場合
多少の増加はあるものの長期で監視した結果ほぼ平行となったので問題なしと考える。途中の急激な増加減の原因は不明。
*以前はZoneAlarmを使っていたが下にあるAN HTTPdの比でないくらい急上昇していたので使用をやめた。私の環境では大問題であった。
*ただし違うパソコン(バックアップサーバー:使用ソフト等は同一設定)では問題なかったので実験機のデバイスなどに問題があったのかも知れない。
*ZAだけの話であり他の図はパソコンを変えても増える症状であった。
SAO


Webサーバー(AN HTTPd)の場合
とてつもないスワップファイルの急上昇が判る。下図は対策(1日1回AN HTTPdを再起動)したもの。
SAO


FTPサーバー(War ftpd)の場合
LAN内外部からのアクセスで微量に増えていく感じがする。
SAO


メールサーバー(Xmail)の場合
ほぼ問題ないレベルであろう。
SAO


■結果
私の実験環境では1日平均20MB強のスワップファイルの巨大化があった。
私のパソコンのスワップサイズ(256MB)の場合、だいたい連続運転10日目くらいから「モッサリ」した動作になり14日程度で「ハング状態」となる。
おおむね(見えない)スワップファイルの増加=連続運転に影響と言える結果となった。
物理メモリ1024MBを積んだPCの場合スワップサイズは最低1536MB→私の環境で2ヶ月半連続運転可能→途中WinUpDateによる再起動がある→さも「俺のWin鯖は連続運転」って錯覚。

実験機はLANカードにsocketエラーが出た不調なものである。紹介したソフトは全てLANに関わっている事からLANカードのデバイスドライバが不要な情報(ゴミ)をくっつけてPC内に送っている可能性が考えられる。本来同じ情報であればスワップサイズは変わらないはずだが毎回違うゴミがくっついているため増えていくのだろう??この「同じなのに違う情報」をOSやソフトが違う情報として受け取って処理をしてる??
パソコンにより症状が違うようだが、おそらく一般的なパソコンも同じ症状が多少あると言えるのではなかろうか。
これはアンマッチなデバイスドライバを使ったUnix系鯖にも言える事かも知れない。

■対策
ウイルススキャンやAN HTTPdで示したように各ソフトの再起動がスワップ開放の手段である。
これは再起動によりそのソフトのプロセスIDが変わり旧プロセスIDの使用分はWindowsに未使用と判断させ開放、新規にスワップを作成していく仕組みを利用するもの。
特に有効な方法として各ソフトがサービスとして起動しているのならnet startやnet stopなどのコマンドでタスクなどを利用して定期的に再起動してやる。
*中にはadministrator以上の権限で稼動するソフトや複数の連携ソフトを起動するがため単品では停止できない場合もある(例 ZoneAlarmなど)。
停止、起動の間隔は少なくとも10秒以上確保しないと二重起動と判断されエラーになる場合があるので注意。

■結論
Windowsは不安定か?
いいえ。私の解析と実験結果を見る限りまったく問題はありません。
OSに問題があったわけではなくデバイスドライバなどの方に多くの不安定要素がありました。
実験には普段の100倍以上の負荷をかけていましたがメモリ、スワップサイズ共に初期値と変わらず止まる気配がありませんでした。
対策を講じれば無停止は可能と判断できます。少なくとも検証した私は言い切れます。
(だから口先だけの○僧なLinux信者にはクソWinとは言わせません←しっかり勉強しろ!反論できる奴は何時でも言ってくれ)

以上。
近日サイトを閉鎖します。でも、これを見た人、素人なSAOが「Winは無停止可能と言い切っていた」と覚えていてください。


HOME

 
 
SAO「同じ自宅サーバー作ろうよ」計画! 

Web Master: hirokasa
Powered by Debian GNU/Linux amd64
The original was produced by Mr.SAO .