« セルボのトーインを調整 | メイン | コントラバスとRX-8 »

サーバーで困ってること

今困ってること。

もとはさかのぼって2007年の話から。
MS-SQLを使いたいだけ、な感じで、Windows 2003 Serverを立てて、そこにMS-SQL 2000を乗っけています。バージョンがアンマッチなのはその当時SQLは2000が目的に合ってたから。
稼働以来メンテナンスフリーで働いてきました。
壊れるといろいろ大変なのでバックアップ体制はハード的にも処理してあるし、ソフト的にはSymantec Backup Exec というシリーズのものを導入し稼働中バックアップをとってます。通常のサーバーOSでなければGhostみたいなソフトで、確か11dという商品だったはずです。が、symatecは使ってると少しずつ最新版に変わったりするので商品的、バージョン的に今動いているのがどれに相当するのはちょっと明確にはわかりません。

さてそんな感じの中、先月の初旬に異状の予兆。
このサーバーの使い方はというと毎朝大量のデータを投入。重複しないようインデックスでチェックしながら、insert→データ書換→updateの繰返しでだいたい15分くらいかけてデータを突っ込んでます。
あとはselect文の繰り返し程度のしごと。

この使い方である日突如 insert で作っておいたデータ行が、updateで書込めなくなった。
その時は原因がわからず調べたりいじったりしていたら勝手にupdate可能になってよくわからず終了。

数日後ご同じ状況出るも、原因特定できず。繰返し。

このころからだんだんサーバーが不安定になってきた。
書込み出来ない、というタイミングを見はからってサーバーを調べてみると、CPU稼働率が100%のまま下がらない。
beserver.exe
ってのがそれを使っている。
これってsymantec backup execのサービスの本体の様で・・・・

このサービスがCPU占有していると動作が遅くなって、同時にリモート制御なんかも途切れ途切れ。。。
しまいにはフリーズって事も。

そしてこれが最近は酷くなって安定性がすこぶる悪く、ここ連日、データ投入がのきなみ失敗。
beserverを落したり、いろいろ試して原因追求しているものの、
朝失敗している→調べる(状況はあまりよくわからず)→再起動なら行けるのを確認、ではサービスの再起動で行けるのか?など対応を試す、が一日1回しかテストできない

の繰返し、データ収集中。

結構厄介な状況です。

2010.8.20追記
毎日実験を重ねているのでだんだん状況がわかってきました。
beserver.exeがバックグランドで何か働いているみたいで、これが起動している間、すこーしずつdisk書込みが続き、その間サーバーメモリが減りつづける。3時間くらい経つと使えるメモリがなくなり、仮想メモリもうまく稼働してない状況になる。これが不安定な状況。

調べた限りはそういう様に見えます。

beserve.exeはmsSQLと何らかの関連を設定されている様で、相互に干渉があります。

対策として
 beserver.exe関連のサービスを止める(メモリの一部とCPUを開放する)
 mssqlを再起動させて、使ってたメモリを開放する
の2つが必要。
これで正常にもどる事がわかりましたが、これをやらないと不安定なまま。
どこかにメモリーの使い方が悪いやつがいる訳だ。そこまでは特定してません。

とりあえず。バッチファイルでbeserve関連を止めるコマンド、開始するコマンド、mssqlを止めて開始の再起動、という3つのバッチファイルをタスクに登録して、夜beserver関連を稼働、深夜バックアップを取る動作、朝beserberveを停止、停止後sqlを再起動、という連続動作で不都合はなくなりましたが、苦肉の策っていう感じ。

トラックバック

このエントリーのトラックバックURL:
http://www.ayamizu.com/mt2/mt-tb.cgi/211

コメントを投稿