ホームページ » の仕方 » パフォーマンスを向上させるためにUbuntuでSSDを調整する方法

    パフォーマンスを向上させるためにUbuntuでSSDを調整する方法

    LinuxでSSDを微調整するためのヒントがたくさんあり、何がうまくいくのか、何がうまくいかないのかについての事例報告がたくさんあります。私たちはあなたに本当の違いを示すためにいくつかの特定の調整を加えて私たち自身のベンチマークを実行しました.

    ベンチマーク

    私たちのディスクをベンチマークするために、私たちはPhoronixテストスイートを使いました。それは無料で、Ubuntu用のレポジトリを持っているので、あなたはクイックテストを実行するために最初からコンパイルする必要はありません。 ext4ファイルシステムのデフォルトパラメータを使用して、Ubuntu Natty 64ビットの新規インストール直後にシステムをテストしました。.

    私たちのシステム仕様は次のとおりです。

    • AMD Phenom IIクアッドコア@ 3.2 GHz
    • MSI 760GM E51マザーボード
    • 3.5 GBのRAM
    • AMD Radeon 3000内蔵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 Explainを見てください。?

    Eschewing Access Times

    OSがディスクに書き込む量を減らすことで、SSDの寿命を延ばすことができます。各ファイルまたはディレクトリが最後にアクセスされた日時を知る必要がある場合は、次の2つのオプションを/ etc / fstabファイルに追加します。

    noatime、nodiratime

    他のオプションと一緒にそれらを追加し、それらがすべてコンマで区切られ、スペースなしであることを確認してください.

    TRIMを有効にする

    TRIMを有効にすると、長期間にわたってディスクのパフォーマンスを管理できます。 fstabファイルに次のオプションを追加します。

    捨てる

    これはext4ファイルシステムでは、標準的なハードドライブでもうまく機能します。少なくとも2.6.33以降のカーネルバージョンが必要です。 MaverickやNattyを使っているか、Lucidでバックポートを有効にしているかは、あなたがカバーしています。これは最初のベンチマークを特に改善するものではありませんが、長期的にはシステムのパフォーマンスを向上させるはずなので、私たちのリストにしました。.

    Tmpfs

    システムキャッシュは/ tmpに格納されています。 fstabに一時ファイルシステムとしてRAMにマウントするようにfstabに指示することができます。そうすればあなたのシステムはハードドライブに触れることが少なくなります。 / etc / fstabファイルの最後に次の行を新しい行に追加します。

    tmpfs / tmp tmpfsのデフォルト、noatime、mode = 1777 0 0

    これらの変更をコミットするためにfstabファイルを保存してください。.

    IOスケジューラの切り替え

    システムはすべての変更をただちにディスクに書き込むわけではなく、複数の要求がキューに入れられます。デフォルトの入出力スケジューラ - cfq - はこれで問題ありませんが、これを私たちのハードウェアにとってはより良いものに変更することができます。.

    まず、「X」をルートドライブの文字に置き換えて、次のコマンドで使用可能なオプションを一覧表示します。

    cat / sys / block / sdX / queue / scheduler

    私のインストールはSDAにあります。いくつかの異なる選択肢があります。.

    期限がある場合は、それを使用する必要があります。これを使用すると、さらに細かく調整することができます。そうでなければ、あなたは問題なくnoopを使うことができるはずです。起動するたびにこれらのオプションを使用するようにOSに指示する必要があるので、rc.localファイルを編集する必要があります。.

    コマンドラインに慣れているのでnanoを使いますが、他の好きなテキストエディタ(gedit、vimなど)を使うことができます。.

    sudo nano /etc/rc.local

    期限を使用している場合は、「exit 0」行の上に、次の2行を追加します。

    エコー期限> / sys / block / sdX / queue / scheduler

    echo 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のレコードサイズを使用して、入力と出力を非同期にテストします。ここでは、vanilla ext4と比較して、パフォーマンスが約200%向上しています。!

    小さなファイル操作

    SQLiteデータベースが作成され、PTSによって12,500レコードが追加されます。ここでSSDを微調整すると、実際にはパフォーマンスが約10%遅くなりました。.

    Apache Benchmarkは小さなファイルのランダム読み込みをテストします。 SSDを最適化した後、パフォーマンスが約25%向上しました.

    PostMarkは、5と512KBの間のファイルサイズで、25000のファイルトランザクションを同時に500でシミュレートします。これはWebサーバーとメールサーバーを非常によくシミュレートします、そして私たちは微調整の後に16%のパフォーマンス向上を見ます.

    FS-Markは合計サイズ1MBの1000個のファイルを調べて、事前に決められた時間内に何個のファイルを完全に読み書きできるかを測定します。ファイルサイズが小さくなるにつれて、ここでも微調整が増えています。 ext4調整で約45%増加.

    ファイルシステムへのアクセス

    Dbenchベンチマークは、Sambaがどのように動作するかのように、クライアントによるファイルシステム呼び出しをテストします。ここでは、vanilla ext4のパフォーマンスが75%削減されました。これは、我々が加えた変更の大きな後退です。.

    クライアントの数が増えるにつれて、パフォーマンスの不一致が増えることがわかります。.

    48クライアントでは、この2つの間のギャップは多少狭まりましたが、それでも微調整によって明らかにパフォーマンスが低下することがあります。.

    128クライアントで、パフォーマンスはほぼ同じです。あなたは私たちの微調整がこの種の操作での家庭での使用には理想的ではないかもしれないがクライアントの数が非常に増加したとき同等の性能を提供するであろうとあなたは推論することができます.

    このテストはカーネルのAIOアクセスライブラリに依存します。ここで20%の改善が見られます.

    ここでは、64MBのマルチスレッドランダム読み取りがあり、ここではパフォーマンスが200%向上しています。ワオ!

    32スレッドで64MBのデータを書き込んでいる間も、パフォーマンスは75%向上しています。.

    Compile Benchは、カーネルツリーの操作(作成、コンパイル、パッチ適用など)によって表されるように、ファイルシステムに対する年齢の影響をシミュレートします。ここでは、シミュレートされたカーネルを最初に作成することで、約40%という大きなメリットがあります。.

    このベンチマークは、Linuxカーネルの抽出にかかる時間を単純に測定するものです。ここでは、パフォーマンスの向上はそれほど多くありません。.

    概要

    Ubuntuの標準のext4設定に行った調整はかなりの影響を与えました。最大のパフォーマンス向上は、マルチスレッドの書き込みと読み取り、小さなファイルの読み取り、および大規模な連続したファイルの読み取りと書き込みの分野で達成されました。実際、パフォーマンスの面で大きな打撃を受けた唯一の現実的な場所は、単純なファイルシステム呼び出しであり、Sambaユーザーはこれに注意する必要があります。全体的に見て、ウェブページのホスティングや大きなビデオの視聴/ストリーミングなどのパフォーマンスは、かなり堅調に推移しているようです。.

    これは特にUbuntu Natty 64ビットでのものであることを覚えておいてください。あなたのシステムやSSDが違うと、あなたの走行距離は変わるかもしれません。ただし、全体的に見て、fstabとIOスケジューラの調整はパフォーマンスを向上させるのに長い道のりがあるように思われるので、おそらく自分で試してみる価値があります。.

    あなた自身のベンチマークを持っていて、あなたの結果を共有したいですか?私たちが知らない微調整がありますか?コメントに載っている!