LinuxでSSDを微調整するためのヒントがたくさんあり、何が機能し、何が機能しないかについての事例報告がたくさんあります。実際の違いを示すために、いくつかの特定の調整を加えて独自のベンチマークを実行しました。
ベンチマーク
ディスクのベンチマークには、 Phoronixテストスイート 。無料でUbuntuのリポジトリがあるため、簡単なテストを実行するために最初からコンパイルする必要はありません。 ext4ファイルシステムのデフォルトパラメーターを使用して、Ubuntu Natty64ビットを新規インストールした直後にシステムをテストしました。
システム仕様は次のとおりです。
- AMD PhenomIIクアッドコア@ 3.2 GHz
- MSI 760GME51マザーボード
- 3.5 GB RAM
- AMD Radeon3000統合(512MB RAM付き)
- Ubuntu Natty
そしてもちろん、私たちがテストに使用したSSDは64GB OCZ Onyxドライブでした( Amazon.comで117ドル 執筆時点)。
目立つ微調整
SSDにアップグレードするときに人々が推奨する変更はかなりあります。古いもののいくつかを除外した後、LinuxディストリビューションがSSDのデフォルトとして含まれていない微調整の短いリストを作成しました。そのうちの3つは、fstabファイルの編集を伴うため、次のコマンドを続行する前に、それをバックアップしてください。
sudo cp / etc / fstab /etc/fstab.bak
問題が発生した場合は、いつでも新しいfstabファイルを削除して、バックアップのコピーに置き換えることができます。それが何であるかわからない場合、またはそれがどのように機能するかをブラッシュアップしたい場合は、を見てください HTGの説明:Linux fstabとは何ですか?どのように機能しますか?
アクセス時間の回避
OSがディスクに書き込む量を減らすことで、SSDの寿命を延ばすことができます。各ファイルまたはディレクトリが最後にアクセスされたのはいつかを知る必要がある場合は、次の2つのオプションを/ etc / fstabファイルに追加できます。
noatime、nodiratime
それらを他のオプションと一緒に追加し、それらがすべてカンマで区切られ、スペースがないことを確認してください。
TRIMの有効化
TRIMを有効にして、長期にわたるディスクパフォーマンスの管理に役立てることができます。次のオプションをfstabファイルに追加します。
破棄する
これは、標準のハードドライブでも、ext4ファイルシステムでうまく機能します。 2.6.33以降のカーネルバージョンが必要です。 MaverickまたはNattyを使用している場合、またはLucidでバックポートを有効にしている場合は対象となります。これは初期ベンチマークを特に改善するものではありませんが、長期的にはシステムのパフォーマンスが向上するはずなので、リストに追加されました。
tmpfs
システムキャッシュは/ tmpに保存されます。システムがハードドライブに触れることが少なくなるように、これを一時ファイルシステムとしてRAMにマウントするようにfstabに指示できます。 / etc / fstabファイルの最後に次の行を新しい行で追加します。
tmpfs / tmp tmpfs defaults、noatime、mode = 1777 0 0
これらの変更をコミットするには、fstabファイルを保存します。
IOスケジューラの切り替え
システムがすべての変更をすぐにディスクに書き込むわけではなく、複数のリクエストがキューに入れられます。デフォルトの入出力スケジューラーであるcfqはこれを問題なく処理しますが、これをハードウェアにより適したものに変更することができます。
まず、次のコマンドで使用できるオプションをリストし、「X」をルートドライブの文字に置き換えます。
cat / sys / block / sdX / queue / scheduler
私のインストールはsdaにあります。いくつかの異なるオプションが表示されます。
締め切りがある場合は、それを使用する必要があります。これにより、さらに微調整が可能になります。そうでない場合は、noopを問題なく使用できるはずです。起動するたびにこれらのオプションを使用するようにOSに指示する必要があるため、rc.localファイルを編集する必要があります。
コマンドラインに慣れているのでnanoを使用しますが、他の任意のテキストエディタ(gedit、vimなど)を使用できます。
すど なの /えtc/rc。ぉかl
期限を使用している場合は、「exit0」行の上に次の2行を追加します。
エコー期限> / sys / block / sdX / queue / scheduler
エコー1> / sys / block / sdX / queue / iosched / fifo_batch
noopを使用している場合は、次の行を追加します。
echo noop> / sys / block / sdX / queue / Scheduler
もう一度、「X」をインストールに適したドライブ文字に置き換えます。すべてを調べて、見栄えがよいことを確認します。
次に、CTRL + Oを押して保存し、CTRL + Xを押して終了します。
再起動
これらすべての変更を有効にするには、再起動する必要があります。その後、すべての準備が整います。何か問題が発生して起動できない場合は、再度起動できるようになるまで、上記の各手順を体系的に元に戻すことができます。あなたも使用することができます 回復するLiveCDまたはLiveUSB お望みならば。
fstabの変更は、アップグレードに関係なく、インストールの存続期間を通じて実行されますが、rc.localの変更は、アップグレードのたびに(バージョン間で)再インストールする必要があります。
ベンチマーク結果
ベンチマークを実行するために、ディスクスイートのテストを実行しました。各テストの上の画像はext4構成を微調整する前のもので、下の画像は微調整と再起動後のものです。テストの測定内容の簡単な説明と結果の解釈が表示されます。
大きなファイルの操作
このテストでは、ランダムデータを含む2GBファイルを圧縮し、ディスクに書き込みます。ここでのSSDの調整は、約40%の改善を示しています。
IOzoneは、この場合は8GBのファイルを書き込むことにより、ファイルシステムのパフォーマンスをシミュレートします。繰り返しますが、ほぼ50%の増加です。
ここでは、8GBのファイルが読み取られます。結果は、ext4を調整しない場合とほぼ同じです。
AIO-Stressは、2GBのテストファイルと64KBのレコードサイズを使用して、入力と出力を非同期でテストします。ここでは、バニラext4と比較してパフォーマンスがほぼ200%向上しています。
スモールファイル操作
SQLiteデータベースが作成され、PTSはそれに12,500レコードを追加します。ここでのSSDの調整により、実際にはパフォーマンスが約10%低下しました。
Apacheベンチマークは、小さなファイルのランダムな読み取りをテストします。 SSDを最適化した後、パフォーマンスが約25%向上しました。
PostMarkは、25,000のファイルトランザクションをシミュレートします。ファイルサイズは5〜512KBで、いつでも同時に500です。これはWebサーバーとメールサーバーを非常によくシミュレートし、調整後にパフォーマンスが16%向上することがわかります。
FS-Markは、合計サイズが1 MBの1000個のファイルを調べ、事前に決められた時間内に完全に読み書きできるファイルの数を測定します。ファイルサイズが小さくなると、微調整も増加します。 ext4の調整で約45%の増加。
ファイルシステムへのアクセス
Dbenchベンチマークは、Sambaが行う方法と同じように、クライアントによるファイルシステムコールをテストします。ここでは、バニラext4のパフォーマンスが75%削減されています。これは、私たちが行った変更の大きな後退です。
クライアントの数が増えると、パフォーマンスの不一致が大きくなることがわかります。
48のクライアントがあるため、両者の間のギャップはやや縮まりましたが、微調整によってパフォーマンスが大幅に低下しました。
128クライアントの場合、パフォーマンスはほぼ同じです。私たちの調整は、この種の操作での家庭での使用には理想的ではないかもしれませんが、クライアントの数が大幅に増加した場合に同等のパフォーマンスを提供すると考えることができます。
このテストは、カーネルのAIOアクセスライブラリに依存します。ここでは20%の改善があります。
ここでは、64MBのマルチスレッドランダム読み取りがあり、パフォーマンスが200%向上しています。うわー!
32スレッドで64MBのデータを書き込んでも、パフォーマンスは75%向上します。
コンパイルベンチは、カーネルツリーの操作(作成、コンパイル、パッチ適用など)によって表される、ファイルシステムに対する年齢の影響をシミュレートします。ここでは、シミュレートされたカーネルを最初に作成することで、約40%という大きなメリットが見られます。
このベンチマークは、Linuxカーネルの抽出にかかる時間を測定するだけです。ここではパフォーマンスがそれほど向上していません。
概要
Ubuntuのすぐに使えるext4構成に加えた調整は、かなりの影響を及ぼしました。最大のパフォーマンスの向上は、マルチスレッドの書き込みと読み取り、小さなファイルの読み取り、および大きな連続したファイルの読み取りと書き込みの領域でした。実際、パフォーマンスが低下したのは、単純なファイルシステムコールだけでした。これは、Sambaユーザーが注意する必要があることです。全体として、ウェブページのホスティングや大きなビデオの視聴/ストリーミングなどのパフォーマンスはかなり確実に向上しているようです。
これは特にUbuntuNatty64ビットで行われたことに注意してください。システムまたはSSDが異なる場合、マイレージが異なる場合があります。ただし、全体として、私たちが行ったfstabとIOスケジューラの調整は、パフォーマンスの向上に大いに役立つように思われるため、自分のリグで試してみる価値はあります。
あなた自身のベンチマークを持っていて、あなたの結果を共有したいですか?わからない別の調整がありますか?コメントで音を立ててください!