僕のテーマはSSDによる「旧々世代環境の延命」です。
僕のメインマシンは Optiplex GX620 という、4年程前のワークステーションです。ストレージを変えるだけでどれほどの恩恵を得られるか、またそれによって WindowsXP終焉のそのときまで一緒に戦えるか。そんな観点でいってみたいと思います。
ということで、デスクトップ機へのストレージの換装手順と換装後のI/O性能の変化、それに伴うソフトウェアの使い勝手の変化について、自作の苦手なYGGが主観を大いに交えてレビューします。
まず、SSD換装前の現状をご説明します。換装対象は前述の通り Optiplex GX620、以下の筐体です。
HTテクノロジ Pentium4 630 3.0GHz
3.0GBメモリ(512MB x2 + 1024MB x2)
160GB SATA2 HDD(7200rpm)
メモリは購入時1GBだったものを、後日追加しています。
ディスプレイは SAMSUNG SyncMaster 2343BW、
キーボードは FILCO Majestouch FKB108M/NB、
マウスは ボール式 Microsoft Intellimouse です。
OS は Windows XP Professional SP3 32bit を使っています。
主な用途はWebブラウジングや作文、プログラミング(Java/C++)です。動画やイラスト、写真などはほとんど弄りません。ゲームもあまりしないので、ディスプレイの品質含めてグラフィックス環境には無頓着です。逆に文字をよく書くので、キーボードは少し拘っています。また、情報の一覧性の高さが快適さを生むと考えているため、ディスプレイは広めのものを使っています。
スペックを見て頂ければ分かる通り、Pentium4 D でも Core2 でも Core ix でもない、HT Pentium4 単機のマシンです。これでも購入当時は比較的良い部類のマシンでしたが、今会社で使っているCore2Duo搭載機と比べるとやはり見劣りする感は否めません。
とは言え、一昔前と違って、5年前のCPUでも単純に動作周波数だけを見ればほとんど差は無い時代です。また、僕の用途を鑑みれば、これ以上のメモリ増設やHDDの大容量化などは、総合的な性能向上に対して効果薄だろうと想像できます。同様にメモリを I/O性能の高いものに換えても1msが0.5msになるような変化では、こちらも体感上効果は低いでしょう。
その点、処理時間全体に対して大きなウェイトを占めるストレージへのI/O速度向上は、各種作業にダイレクトに影響を与えると想像できます。延命という観点では、SSDへの換装は理に適っていそうで大いに期待できます。
このSSD、X25-M G2 には環境移行用のツールが提供されているのですが、今回は今までの環境を一度リセットする方法を選びました。理由は 2つあり、1つはそもそも移行元HDDの使用量が移行先SSDの容量 120GB を超えていたこと、もう1つは移行に際し、環境の再整備を行いたかったためです。
5年近くも使えば、嗜好の変化、使い方の変更などでアプリケーションのインストールと削除を繰り返しており、ディスク内も多少散らかっているものではないでしょうか。環境移行ツールは今の使い勝手を簡単に移行できる反面、これら負の遺産も同時に引き継いでしまう可能性がありました。そこで、今後当分使うつもりの新環境は、OSインストールから再構築する方針としました。
そうと決まれば色々用意が要ります。作業に入って焦らないように、以下の資材を用意しました(結局作業に入って焦ることは出てきたのですが...それは後ほど)。
・Windows XP Professonal Service Pack 2 再インストール用CD
・Dell Optiplex ResourceCD(デバイスドライバのセット)
・Power Chute Personal Edition(UPSの管理ツール)
・PIXUS MP640 セットアップCD-ROM(プリンタドライバとユーティリティ)
・SyncMasterドライバCD
・ノートンインターネットセキュリティ2011
・各種アプリケーションのインストーラや書庫(ZIP、LHAなど)
特にデバイスドライバのセットは無くしていると悲惨です。ハードが得意でない僕のような人間は、まず必要なドライバの種類を調べるだけで滅入ってしまいます。調べてはメーカーサイトからダウンロード、調べてはダウンロード...うぅ、あんまりやりたくない。
ちなみにDELLの機種の多くはOSインストール直後NICのドライバを認識してくれないので、インターネットに探しに行くことすらままなりません。
導入アプリケーションのインストーラなどは換装元ディスクに入れておきます。こんなときの為に、インストーラなどはまとめて取って置くと良いでしょう。僕は「Archive」というフォルダを作って置いておくようにしています。
上記の他、ケース内での作業用に
・プラスドライバ(100円均一で購入)
を用意しました。
それから、今回は数年ぶりにケースを開けるのでコレを買ってきました。
まず作業場所を確保します。筐体を開けたあと、ケースを掃除するつもりなので居間の掃き出し窓のそばを陣取りました。
筐体からは電源ケーブルなど全てのケーブルを抜き取り、作業場所に運び込みます。
筐体の上部後方にあるロックを引くと、ガコッと音を立てて筐体の側面が開きます。
開きました。
予想通り埃まみれです。
エアダスターで埃を吹き飛ばします。ぷしゅー。
どうでもいいですが、缶がかなり冷たくなるのであんまり長いこと持ってられません。
HDDは筐体に対して横向きにつけるのですね。SATAケーブルと電源ケーブルを抜いて、HDDを抜き出します。
次はSSDのマウントです。
この筐体は2.5インチデバイスを直接マウントできないので、SSDに付属の 3.5インチマウンタを使います。
筐体にSSDをマウントするため、筐体付属のレールを取り付けます。
ところがここで問題が発生しました。筐体取付用の取り付け具とSSD側の端子が干渉してしまいます。これではケーブルを刺すことができません。
これは付属の3.5インチマウンタが中央にマウントするようになっているためですね。コネクタが片側に寄るようにマウントできれば良かったのですが。
とりあえず、マウント位置を変えてみました。
取付具と端子の間に隙間はできましたが、ケーブルを刺せるほどではありません。ありゃ、困った。
ここで、8年程前に買った 3.5インチHDDの付属品に 5インチベイ用のマウンタがあった事を思い出しました。まだ捨ててなかったような気が...
押入れを漁ったら出てきました。物を捨てられない性格が、珍しく役に立った瞬間。
作業し易いように再度SSDのマウント位置を変え、さらに3.5インチマウンタを5インチマウンタにマウントします。
HDDは元の場所に戻ってもらいます。騒がせてすまんね。
筐体の 5インチベイにアクセスします。
併せて、電源を確保すべく付属のアダプタで4PinペリフェラルをSATA電源用に変換し、SSDに刺します。
SSDをメインドライブにするため、マザーボードからHDD用のSATAケーブルを抜き、SSDから伸びるSATAケーブルに差し替えます。HDDも移行元として使うため、マザーボード上の空きポートに刺し直します(赤い方がSSD、青い方がHDDです)。
ケースを閉じて、一通りのハードウェア移行が完了しました。他のレビューを拝見してさほど難易度は高くないかと思っていたのですが、3.5インチベイにマウントできなかったため結局 2時間かかりました。
端子と取付具の干渉というのが、この機種固有の問題なのか、他の機種でもよくある話なのかは経験不足でよく分かりませんが、何にせよ古めのデスクトップで換装する場合は気にしておいた方が良いかもしれません。
次にソフトウェア移行です。
OSを入れ直すため、光学ドライブにOSのCD-ROMを入れてPCを起動します。この際、余計なトラブルを避けるためUSBなどの外部デバイスは必要最小限にしておいた方が無難です。
また、移行元HDDとの取り違えを避けるため、BIOSから当該HDDを無効にしておくと安全です。一通りの構築作業が済んだら改めてBIOSからドライブを有効にします。
CD-ROMからPCを起動し、OSのインストールを選択します。デバイスの容量を確認して SSD の方にインストールします。容量は 111GB 程度に見えるはずです。120GBじゃ無いのは、キロとかメガとかを商業的に有利な(大きく見える)10の3乗で計算するか、IT関連で慣用的に使う2の乗数で計算するかの違いですが、テラバイトオーダーになると10%近く誤差が出てくるので、そろそろどうにかして欲しいなあ、と思います。
余談でした。話を戻してOSをインストールします。
数回の再起動やユーザの作成などを経て、OSのインストールが終わったら次はドライバのインストールです。DELLの場合、インストールすべきドライバをResourceCDが教えてくれるので、表示の通りインストールします。
その後、ディスプレイドライバのインストール、OSのアップデート、ノートンインターネットセキュリティの導入、と続きます。この辺りは各インストーラの指示に従えば良いので、画面をみながら黙々と作業をします。ここ、ツマラナイので詳細は省きます。
ソフトウェアの再インストールに際して、ソフトウェアの設定情報が引き継げるものがあります。これは会社のマシンと自宅のマシンを同期するのにも使えるので便利です。今回使ったいくつかの手段を紹介します。
・秀丸エディタ/秀丸メール
「その他 - 設定内容の保存/復元」から設定内容をregファイルにエクスポートできます
・ffftp
「接続 - 設定 - 設定をファイルに保存」から設定内容をregファイルにエクスポートできます
・eclipse
インストールフォルダごとコピーすれば移行できます
・TeraTerm
TERATERM.INI をコピーすれば設定を移行できます
ソフトウェアのインストールフェーズもなかなか時間がかかりますが、ここでの再整備が今後の使い勝手、ひいては寿命にも関わってきます。旧環境での使い勝手を思い出して、使わないソフトは切り捨て、よく使うソフトを選んで導入するようにします。
さて、一通りの環境が再構築できました。
インストールの最中にも、ストレージへのアクセス速度が向上しているのが感じられましたが、実際に計測するとどうでしょうか。
まずは定番のベンチマークソフトを使います。
差は歴然です。
シーケンシャルリードで 5.7倍、シーケンシャルライトでも2.9倍もの差異があります。ランダムアクセスではさらに顕著で、ほぼ50倍以上の差が出ています。
この差がアプリケーションにどのような影響を与えるか、いくつかのシチュエーションを想定して性能を測定しました。なお、マシンの時計を使えないシーンではストップウォッチが必要になるので、
を使いました。
測定は基本的に複数回計測して平均値を出しています。再起動直後の計測だけは一発勝負です。
まず、Webブラウジングを対象にします。よく行くサイトをタブブラウザ上に一度に開いて巡回する、という使い方を想定してみました。
僕がよく行くサイトをA、B、Cセットに分けています。これはサイトの作りやサービスしているホストに関係なく分けているので、セットの違いに意味はありません。同時に開くサイト数の違い、程度に取ってください。
ブラウザは Sleipnir、バージョンは 2.9.6、レンダリングエンジンはデフォルトのままです。また、JavaScript と ActiveX はほぼ全てのサイトで無効に設定しています。
計測は、「このフォルダを開く」メニュー押下から処理が落ち着くまで、今回はタスクマネージャ上でCPU使用率が 0% を示すまでを 1処理単位としました。
全体的にSSDの方が早く処理を完了しています。特に再起動直後の処理速度で差が顕著です。
ブラウザキャッシュクリア時はSSDもHDDもだいぶ時間がかかっていますが、これはキャッシュが無い分、全てのコンテンツをインターネットから取得する必要があったためと考えられます。
数値のブレは、計測した曜日/時間帯による通信帯域幅の差やサーバサイドの負荷状況にもよると思われます。
この結果から、SSDは再起動直後か通常使用時かに関わらず高速にブラウジングできる、ということがわかりました。
2つ目はファイルリストの作成です。
僕はSE屋さんをやっているのですが、資料やソースファイルなどを一覧化するためにファイルリストを作成することが良くあります。
この操作でフォルダ走査速度を計れると思いましたので、ディレクトリを走査してファイルリストの作成する簡単なバッチを書き、その実行時間を計ってみました。
再起動前にSSDの方が遅いのは、OSによるキャッシュがあったためと考えられます。再起動してキャッシュが破棄された状態では実に13倍近い差が出ています。
この結果から、SSDはランダムリードを行う簡単なプログラムの性能向上に有効、ということがわかりました。
3つ目は検索です。
PCからファイルやキーワードなどを検索することは日常的に良くあることかと思います。今回次の 2種類を試行しました。
・「C:\WINDOWS」フォルダ配下から「hosts」ファイルを検索
・秀丸メールで約8000件のメールから特定のキーワードを検索
結果は次の通りでした。
いずれも再起動前の結果がHDDに劣っています。
これもキャッシュの差かと思いますが、ファイル検索で倍近く差がついた理由が思いあたりませんでした。差としてはあまり大きくないので(1秒程度)誤差として考えても良いのかもしれませんが。母数が大きければもう少し正確に傾向が読めたかもしれません。この辺りはちょっと追求してみたいところです。対して、再起動後の結果には他のテスト同様、大きく差が開きました。
再起動直後のキャッシュの無いタイミングでの読み込みにはやはりSSDに高いアドバンテージがあるようです。
4つ目は、sqlite3 によるデータのDB登録です。
先ほど作ったファイルリストを、2000行程度の簡単なテーブルにしてDBに登録します。
sqlite3 は最近色々なソフトに組み込まれていますので、そうとは知らず皆さんも使っているかもしれません。どんな言語からも簡単に使えるので重宝しています。
こちらも簡単なバッチファイルを書いてDBに登録してみます。
測定の結果は次の通りです。
これはかなりの大差がつきました。ランダムライトの性能差がよく現れています。
sqlite3の利用においてSSDはかなり効果があることが分かりました。
今回は sqlite における 2000トランザクションの実行をシミュレートしましたが、通常このような使い方をする場合はトランザクションを切って1回でデータを登録するのがセオリーです。
単純に 1トランザクションで2000件の登録であれば、HDDの場合でも十分実用的な結果になりました。
余談でした。
最後に、システムの起動/停止の性能を測定しました。
デスクトップの場合、PCの起動は日に何度もやる作業ではないので、性能が上がってもそれほど効果は感じられないのですが、毎日のことなので遅いよりは早い方が良いですよね。
計測は、電源ボタン押下からログオンダイアログが表示されるまでと、ログオン処理開始(ボタン押下)から処理が落ち着くまで、今回はタスクマネージャ上でCPU使用率が0%を示すまでを 1処理単位としました。
停止は、電源ボタン押下から電源ランプ消灯までを計測しました。
こちらも派手ではないものの確実な性能向上が見られます。
起動は、電源投入からPCが使えるようになるまで 1分を切っているため、今までスーツを脱ぎながらやっていた起動処理は部屋着に着替えてから始めても困らなくなりました。
全体的に、全ての処理時間が大幅に短縮されました。
CPUの性能向上による処理速度の向上は王道ではありますが(そういえばODPなんてのもありましたね)、メモリの増量によるデータのオンメモリ化、スワップの低減などの時代を経て、今はストレージのI/O速度向上が、システム全体の性能強化に有効な時代なのだな、と実感しました。
特に再起動直後の測定結果から、アプリケーションレベルキャッシュを必要としないほどの高いパフォーマンスに驚かされました。これからの時代、下手なキャッシュを自作する位ならストレージ性能に任せた方がいいかもしれません。
一方SSDは、HDDと比べて容量単価が高い、という問題があります。
これは今後流通量が増えれば改善されると思いますが、こと「旧々世代環境の延命」というテーマに関して言えば、旧マシンHDD程度の容量(80GB-120GB)のものなら手が出ない程高価でもありませんし、コストに見合うだけの恩恵を得られると考えます。
ただし死蔵するタイプのデータを入れるには勿体無いので、ファイルサーバや大容量HDDなどを併用し、動画やDVDイメージなどかさ張るデータはそちらに、プログラムや作業中のデータはSSDに、と使い分けるのが合理的と思います。
以上の考察から、
と結論付けて、レビューを終わります。
[2011/08/03 追記]
試してみたら差が歴然だったので、思わず追記。
オプティマイザを使わずに半年ほど運用した結果、次のような性能劣化がありました。
ご覧の通り、書き込みについて元の測定数値(前述参照)を大きく下回ります。
使っててそんなに気にならなかったのですが。
ちなみに運用時間は 1400時間程度と思います(S.M.A.R.T. の通電総時間から推定)。
このドライブにオプティマイザを使ってみると、次の通りほぼカンペキに当初の状態に戻りました。
この結果から、オプティマイザの定期的な実行は性能劣化対策に有意ということがはっきりわかりました。おー。
今後は素直にスケジューラを設定することにします。
リンさん
2010/12/16
YGGさん
2010/12/16
コメントありがとうございます。
意識してなかったですが、PC上の処理はかなりディスクアクセスに依存してるんですね。
レビューに書いた通り古いマシンがとても快適になりました。SSD、本当にお勧めです。
Wチャンス☆レビュー、当たるといいですね!
operaさん
2010/12/22
レビューお疲れ様でした♪