ユーザーが大きなファイルを grep すると SSH サーバーが停止します - NET_RX が高く、ソフト IRQ も高い - どのように制限しますか?

ユーザーが大きなファイルを grep すると SSH サーバーが停止します - NET_RX が高く、ソフト IRQ も高い - どのように制限しますか?

私は 1Gbps NIC を搭載した fedora 14 - Linux-2.6.35 を実行しているサーバーを持っています。このサーバーには Isilon サーバーによって提供される NFSv3 マウントがあります。

NFSサーバー上に存在する大きなファイル(grepなど)をユーザーが操作するたびにフリーズします。サーバーがフリーズする直前に、

  1. ネットワーク使用量は1Gbpsに近づき、
  2. NET_RXからの割り込みがCPUコアを圧倒し、
  3. 大量の soft_irqs。

これらの屋台にアプローチするためのアイデアはありますか?

NICのifconfigには次のように表示されます

[root@interactive ~]# ifconfig eth1 <redacted>
eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
      inet addr:xx.yy.zz.aa  Bcast:A.B.C.255  Mask:255.255.252.0
      inet6 addr: aaaa::bbb:ccc:ddd:eee/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:685902495 errors:6256 dropped:28226 overruns:0 frame:6256
      TX packets:661268729 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:973006411081 (906.1 GiB)  TX bytes:146154890021 (136.1 GiB)
      Interrupt:19 Memory:d8000000-d8012800 

エラーが多すぎませんか?

SSH ユーザーがネットワーク インターフェイスを飽和させる能力を制限する方法はありますか?

答え1

推奨される解決策は、サーバーで利用可能な帯域幅を増やすことです。10G 接続にアップグレードするか、サーバーに NIC を追加してチーム化 (イーサチャネル) することができます。

また、Sven が上でコメントしたように、NIC の最新ドライバーがインストールされていることを確認し、必要に応じてオペレーティング システムをアップグレードする必要があります。

SSH ユーザーの権限を制限するには、Quality of Service (トラフィック制御) を試すことができます。詳細については、「tc」コマンドを検索してください。

答え2

何らかの手段 (grep など) でファイルを読み込まなければならないため、ネットワークがアップします。私が試すのは次のようになります。

バージョンをアップグレードこの10年間- わかってるよ、君は行き詰まってるんだ。

コンソール経由で同じことを試してください - これはSSHではないと思います

ログ (/var/log/messages、dmesg など) に、CPU がスタックしている、または NFS サーバーが応答していないなどの情報がありますか?

断片化されたパケットなどを検出するWireshark

NFS クライアントのマウント オプションを変更する: ハード vs ソフト、wsize、rsize、timeo および retrans、UDP vs TCP

両方のデバイスのMTUを下げる

関連情報