客先に納入する Windows Server の数が 32bit と 64bit で半々くらいになってきている。
体感的に、速度的には双方とも差違を感じない。何が違うかというと、はっきりしているのはメモリの消費量である。

64bit の場合、8GBとか16GB、それ以上のメモリを積むこともある。現地でモニタすると、速度差はなくても、多くの場合は SQL Server が多量のメモリを消費している。16GBのメモリのうち9GBを消費していたケースもある。メモリ上にキャッシュするとかで消費するのは分かるが、これはちと無駄遣いに近い。
32bit だと通常4GBのメモリを積む。中には2GBのところもあるが、それはそれでたまに速度が遅くなることはあるものの、通常は問題なく動いてくれる。VMで試すときはもっとメモリを削って運用している場合もある。

このような状態だと64bit にする意義はあまり感じられないかも知れない・・。もう少し別の観点で気が付いた点もレポートできればと思う。

その昔、大型汎用機上で業務をやっていて、いっときUNIX(そのときはSONYのNEWS)を使って運用もえらく違うものだな、と感じたことがある。今は主に Windows Server を使っている。しかしまだまだ駆け出し感が拭えない。

UNIXやWindowsと比べると、大型汎用機は「資源管理」、つまり実行させるプログラムごとにメモリの使用量、記録メディアの容量などを指定できるのが特徴ではないだろうか。UNIXやWindowsでもそういうことはできるのか?というと今のところできるような文献に出くわしていない。
メモリの使用量を決められるということは、多くの業務が実行されていても「安定した運用」を実現しやすいということでもある。

大型汎用機でもバッチ処理系の経験が主であったため、やはりジョブのスケジュール管理は大型汎用機ばりにできるのが当たり前だと思っていたが、UNIX では運用のためのソフトを利用するのが一般的なようであり、かつ大型汎用機より小回りが利かないようであった。
Windowsでは製品もあるのかも知れないが、タスクスケジューラがあるくらいか?

また、バッチ処理を設計するにあたってはデータのリカバリポイントを設定するものだと思っていたが、UNIX や Windowsのジョブフローでリカバリポイントを設定しているケースを見たことがない。そもそも考慮しなくても問題ないのかもしれないが、大型汎用機での経験上、それはあり得ないと思っている。

まだまだ「Windowsでバッチ運用」というものは黎明期なのか、単に私が無知なだかなのか、よくわからないでいるが、書籍や資料も探し方が甘いだけかも知れないが、見かけていない。

必要とされていない情報なのかも知れないが、とりあえず私の安心材料の自己満足資料でもいいので、簡単にまとめていきたいと思う。
以前、ノートPCに仕込んでいたSSD、ノートPCが故障したのでデスクトップPCのドライブとして利用している。現状はほとんど未使用であった。

つい先日、NASに溜めていた画像データから選抜してDVDに保存する作業を実施した。しかし、遅い。1画像のコピーに7~8秒程度かかる。
そこでSSDを作業エリアをとして使ってみた。結果、コピーに取られる時間はまったく感じられなかった。体感でそのくらいなので、おそらく0.3以内ではないかと。仮に0.5秒としても14~16倍の速度だ。条件もよかった(比較対象の条件が悪かった)こともあると思うのでこの値がどこでも出るわけではないだろうけれど、こと今回の作業についてはさくさくと進んだ。

なお、SSDは最近、SATAのみならず PCI Express x16 等のものも出ているそうである。インターフェースとしては後者の方が速いのでより有効に利用できるのではないだろうか。
また、HDDと比較すると論理上はランダムアクセスでより性能差が出るはずである。そういう調査結果の掲載されたサイトもあるようだが、DBでのR/Wでボトルネックがある場合はHDDをSSD化するだけでも高速化が期待できる可能性が高い。

今後、H/Wに関しては一部SSDでの実験、また以前から考えていたRAM DISK利用案も実験してみたいと思う。契約先との交渉次第かとは思うが、それが顧客の満足度を上げるための裏付けになるのでがんばってみたいと思う。
はやく立て込んでいる仕事をなんとかしないと・・。