NFSが提供するサービス マウント: サーバー上で /usr/sbin/rpc.mountd サーボ プロセスを有効にし、クライアント上でマウント コマンドを使用します。マウントされたサーボ プロセスは、クライアントの要求に応答する RPC です。 リモート ファイル アクセス: サーバーで /usr/sbin/nfsd を有効にし、クライアントで /usr/sbin/biod を有効にすると、クライアントのファイル要求が処理されます。しかし、クライアント上のユーザーがサーバー上のファイルを読み書きしようとすると、biod サーボ プロセスがこの要求をサーバーに送信します。 ブート パラメータ: サーバー上の /usr/sbin/rpc.bootparamd デーモンを有効にして、ディスクレス SunOS クライアントのブート パラメータを提供します。 PC認証: サーバー側で/usr/sbin/rpc.pcnfsdを起動してPC-NFSのユーザー認証サービスを提供します。 NFS サービスはステートレスです。つまり、NFS 転送はアトミックであり、1 回の NFS 転送は 1 回の完全なファイル操作に対応します。 背景: Linux は NFS のサーバー側、AIX は NFS のクライアント側です (また、クライアント側としても Linux を使用した比較テストもあります)。 1. NFS に対応する基盤デバイスはフラッシュ カードであり、ローカル テスト I/O 書き込みパフォーマンスは 2GB/秒に達します。 2. サーバーはギガビット ネットワーク カードであり、FTP テスト転送は 100MB/秒に達します。 3. AIX は NFS を正常にマウントしますが、dd テストの書き込み速度はわずか 10MB/秒です。 4. Linux は NFS を正常にマウントし、同じ dd テストの書き込み速度は 100MB/秒に達します。 注: 上記の速度は主に桁違いを反映しており、実際のテストでは若干の偏差が生じます。 特定の環境:
マウントパラメータは MOS ドキュメントに従って設定されます。
現時点での実際のニーズに応じて、設定する必要があるパラメータを調整します。
AIX NFS マウント パラメータ:
直接マウントすると次のエラーが表示されます。 # マウント -o cio,rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,vers=3,timeo=600 10.xx.xx.212:/xtts /xtts マウント: 1831-008 諦める: 10.xx.xx.212:/xtts vmount: 操作は許可されていません。 情報をチェックして、AIX で追加のネットワーク パラメータを設定する必要があることを確認します。 # nfso -p -o nfs_use_reserved_ports=1 再度マウントを試行してください: マウント -o cio、rw、bg、hard、nointr、rsize=32768、wsize=32768、proto=tcp、noac、vers=3、timeo=600 10.xx.xx.212:/xtts /xtts dd テストの速度は非常に不十分で、わずか 10MB/秒です。 --テストパフォーマンス; AIX NFS # 時間 dd if=/dev/zero of=/xtts/test-write bs=8192 count=102400 102400+0 件のレコードがあります。 102400+0 レコードが出力されました。 実数 0分43秒20 ユーザー 0m0.79s システム 0分5.28秒 # 時間 dd if=/xtts/test-write of=/dev/null bs=8192 count=102400 102400+0 件のレコードがあります。 102400+0 レコードが出力されました。 実数 0分30秒86 ユーザー 0分0.84秒 システム 0分5.88秒 すべてのパラメータは、実際のニーズと MOS の推奨事項に従って設定されます。何か質問はありますか?
ほぼすべての可能なパラメータを試しましたが、結果は理想的ではありませんでした。私たちはすぐにリソースを調整し、ホスト エンジニアを見つけて問題のトラブルシューティングを行う準備ができました。 この瞬間、突然インスピレーションが湧き、ある可能性を思いつきました。 AIX 上の NFS が単一プロセスの I/O スループットを制限する可能性はありますか?この推測に基づいて、並列テストを実行します。 5 つのウィンドウを開き、同時に dd を起動します。 時間 dd if=/dev/zero of=/xtts/test-write1 bs=8192 カウント=102400 時間 dd if=/dev/zero of=/xtts/test-write2 bs=8192 カウント=102400 時間 dd if=/dev/zero of=/xtts/test-write3 bs=8192 カウント=102400 時間 dd if=/dev/zero of=/xtts/test-write4 bs=8192 カウント=102400 時間 dd if=/dev/zero of=/xtts/test-write5 bs=8192 カウント=102400 5 つのウィンドウがすべて同時に 55 秒で完了したことに驚きました。これは 800M*5=4000M に相当し、すべて 55 秒で完了し、1 秒あたり 72MB/秒に達しました。この並列アプローチにより、効率を向上させるニーズが満たされました。 また、テストのために複数のウィンドウを開き続ける限り、基本的に 100 MB/秒 (ギガビット ネットワーク カードによって制限されます) のネットワーク制限に達する可能性があるようです。 P.S. 別の Linux サーバーにマウントされた同じ NFS をテストすると、並列化なしで dd 書き込み速度が 100MB/秒に達することがあります。これも以前私の考えに影響を与えた要因でした。 # マウント -o rw、bg、hard、nointr、rsize=32768、wsize=32768、tcp、actimeo=0、vers=3、timeo=600 10.xx.xx.212:/xtts /xtts Linux NFS テスト結果: --パフォーマンステスト; Linux NFS # dd if=/dev/zero of=/xtts/test-write bs=8192 count=102400 102400+0件のレコード 102400+0 レコードが出力されました 838860800 バイト (839 MB) をコピーしました、6.02451 秒、139 MB/秒 # dd if=/xtts/test-write of=/dev/null bs=8192 count=102400 102400+0件のレコード 102400+0 レコードが出力されました 838860800 バイト (839 MB) をコピーしました、8.55925 秒、98.0 MB/秒 私は AIX に精通しておらず、基礎となる原理については詳しく調べませんでした。当初、問題解決の過程で最も混乱したのは、Linux をクライアントとして使用した場合に、dd テストが並列化なしで 100MB/秒の速度に達することができる理由であり、これが固有の考え方に陥らせました。この事件から私が学んだ教訓は、突破口を開くためには時には既成概念にとらわれずに考えなければならないということだ。 最後に、フラッシュ メモリ カードの I/O 機能に対する私の感銘を表すために、NFS サーバー側でのローカル テストの結果も投稿しました。 # dd if=/dev/zero of=/dev/test-write2 bs=8192 count=1024000 1024000+0件のレコード 1024000+0 レコードが出力されました 8388608000 バイト (8.4 GB) をコピーしました、4.19912 秒、2.0 GB/秒 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: MySQL 5.7 のユニオンオール使用法のブラックテクノロジーを 5 分で学ぶ
>>: Vueでデータを読み取るためにこれを悪用しないでください
CSS3 は、要素の 2D 平面変換と視覚的な 3D 空間変換を実装します。2D 変換はより頻繁に使...
Docker SwarmについてDocker Swarm は次の 2 つの部分で構成されます。 D...
目次1. データ型1.1 なぜデータ型が必要なのか? 1.2 変数のデータ型1.3 データ型の分類2...
目次1. import_tableの紹介2. データのロードとテーブル関数のインポートの例2.1 L...
目次概要戦略パターンを使用しないフォーム検証戦略パターンを使用して最適化する戦略パターンの利点要約す...
目次1. SVGを使用する2. fontAwesomeを使用する3 ソース4 結論テクノロジースタッ...
序文起源は質問 1 です: umask が 022 に設定されている場合、作成するファイルのデフォル...
目次序文始める基本レイアウトデータバインディングイベントバインディング最適化ジッター問題を最適化する...
目次背景探検する要約する背景テーブルでは、dataTime フィールドは varchar 型に設定さ...
HTMLでは、中国語のフレーズ「學好好學」は「學好好學」と表現できます。プロジェクトでは、SMSアラ...
クリック時に背景色を生成する要素の CSS スタイルに次のコードを追加します。 -webkit-ta...
<TD> タグの属性は、テーブル内のセルのプロパティを設定するために使用されます。表 &...
insert into employee values(null,'張三','...
序文最近、高可用性プロジェクトに取り組む際には、データの同期が必要になっています。ノードが 2 つし...
時間フィールドは、データベースの使用時によく使用されます。よく使われるのは作成時間と更新時間です。し...