SSH-Server gerät ins Stocken, wenn Benutzer große Dateien greppen – hohe NET_RX- und Softirq-Zahl – Wie kann man das begrenzen?

SSH-Server gerät ins Stocken, wenn Benutzer große Dateien greppen – hohe NET_RX- und Softirq-Zahl – Wie kann man das begrenzen?

Ich habe einen Server mit Fedora 14 – Linux-2.6.35 und einer 1-Gbit/s-Netzwerkkarte. Er verfügt über NFSv3-Mounts, die von einem Isilon-Server bereitgestellt werden.

Es friert ein, wenn ein Benutzer mit einer großen Datei (grep oder ähnliches) arbeitet, die auf dem NFS-Server vorhanden ist. Ich konnte deutlich sehen, dass kurz vor dem Einfrieren des Servers

  1. Die Netzwerkauslastung erreicht fast 1 Gbit/s,
  2. Unterbrechungen von NET_RX überlasten die CPU-Kerne und
  3. Große Anzahl von Soft_IRQs.

Irgendwelche Ideen, wie man diese Stände erreichen kann?

ifconfig auf der Netzwerkkarte zeigt

[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 

Sind die Fehler zu hoch?

Gibt es eine Möglichkeit, die Möglichkeit eines SSH-Benutzers zur Sättigung der Netzwerkschnittstelle einzuschränken?

Antwort1

Die empfohlene Lösung wäre, die dem Server zur Verfügung stehende Bandbreite zu erhöhen. Sie können auf 10G-Konnektivität upgraden oder zusätzliche Netzwerkkarten auf dem Server hinzufügen und diese zu einem Team zusammenfassen (Etherchannel).

Außerdem müssen Sie, wie Sven oben kommentiert hat, sicherstellen, dass Sie über die neuesten Treiber für Ihre Netzwerkkarte verfügen und das Betriebssystem bei Bedarf aktualisieren.

Um die Möglichkeiten des SSH-Benutzers einzuschränken, können Sie Quality of Service (Traffic Control) ausprobieren. Weitere Informationen finden Sie, indem Sie nach dem Befehl „tc“ suchen.

Antwort2

Das Netzwerk wird inaktiv, da irgendwas (grep usw.) die Datei lesen muss. Ich würde Folgendes versuchen:

Upgrade auf eine Version vondieses JAHRZEHNT- Ich weiß, du steckst fest.

Versuchen Sie dasselbe über die Konsole – ich wette, das ist kein SSH

Steht in den Protokollen (z. B. /var/log/messages, dmesg) etwas wie „CPU hängt“ oder „NFS-Server antwortet nicht“?

Wireshark für fragmentierte Pakete usw.

Ändern Sie die Mount-Optionen des NFS-Clients: Hard vs. Soft, Wsize, Rsize, Timeo und Retrans, UDP vs. TCP

Verringern Sie die MTU auf beiden Geräten

verwandte Informationen