Optimieren der NetScaler VPX-Leistung auf VMware ESX, Linux KVM und Citrix Hypervisoren
Die NetScaler VPX-Leistung variiert stark, abhängig vom Hypervisor, den zugewiesenen Systemressourcen und den Hostkonfigurationen. Um die gewünschte Leistung zu erzielen, befolgen Sie zuerst die Empfehlungen im VPX-Datenblatt und optimieren Sie sie dann weiter mithilfe der in diesem Dokument bereitgestellten Best Practices.
NetScaler VPX-Instanz auf VMware ESX-Hypervisoren
Dieser Abschnitt enthält Details zu konfigurierbaren Optionen und Einstellungen sowie weitere Vorschläge, die Ihnen helfen, die optimale Leistung der NetScaler VPX-Instanz auf VMware ESX-Hypervisoren zu erzielen.
- Empfohlene Konfiguration auf ESX-Hosts
- NetScaler VPX mit E1000-Netzwerkschnittstellen
- NetScaler VPX mit VMXNET3-Netzwerkschnittstellen
- NetScaler VPX mit SR-IOV- und PCI-Passthrough-Netzwerkschnittstellen
Empfohlene Konfiguration auf ESX-Hosts
Um eine hohe Leistung für VPX mit E1000-, VMXNET3-, SR-IOV- und PCI-Passthrough-Netzwerkschnittstellen zu erreichen, befolgen Sie diese Empfehlungen:
- Die Gesamtzahl der auf dem ESX-Host bereitgestellten virtuellen CPUs (vCPUs) muss kleiner oder gleich der Gesamtzahl der physischen CPUs (pCPUs) auf dem ESX-Host sein.
-
Die NUMA-Affinität (Non-uniform Memory Access) und die CPU-Affinität müssen für den ESX-Host festgelegt werden, um gute Ergebnisse zu erzielen.
– Um die NUMA-Affinität eines Vmnic zu ermitteln, melden Sie sich lokal oder remote am Host an und geben Sie Folgendes ein:
#vsish -e get /net/pNics/vmnic7/properties | grep NUMA Device NUMA Node: 0 <!--NeedCopy-->- Informationen zum Festlegen der NUMA- und vCPU-Affinität für eine VM finden Sie unter VMware-Dokumentation.
NetScaler VPX mit E1000-Netzwerkschnittstellen
Führen Sie die folgenden Einstellungen auf dem VMware ESX-Host durch:
- Erstellen Sie auf dem VMware ESX-Host zwei vNICs aus einem pNIC-vSwitch. Mehrere vNICs erstellen mehrere Rx-Threads im ESX-Host. Dies erhöht den Rx-Durchsatz der pNIC-Schnittstelle.
- Aktivieren Sie VLANs auf der vSwitch-Portgruppenebene für jede von Ihnen erstellte vNIC.
- Um den vNIC-Sende-(Tx)-Durchsatz zu erhöhen, verwenden Sie pro vNIC einen separaten Tx-Thread im ESX-Host. Verwenden Sie den folgenden ESX-Befehl:
-
Für ESX-Version 5.5:
esxcli system settings advanced set –o /Net/NetTxWorldlet –i <!--NeedCopy--> -
Für ESX-Version 6.0 und höher:
esxcli system settings advanced set -o /Net/NetVMTxType –i 1 <!--NeedCopy-->
-
-
Um den vNIC-Tx-Durchsatz weiter zu erhöhen, verwenden Sie einen separaten Tx-Abschluss-Thread und Rx-Threads pro Geräte-(NIC)-Warteschlange. Verwenden Sie den folgenden ESX-Befehl:
esxcli system settings advanced set -o /Net/NetNetqRxQueueFeatPairEnable -i 0 <!--NeedCopy-->
Hinweis:
Stellen Sie sicher, dass Sie den VMware ESX-Host neu starten, um die aktualisierten Einstellungen zu übernehmen.
Zwei vNICs pro pNIC-Bereitstellung
Im Folgenden finden Sie eine Beispieltopologie und Konfigurationsbefehle für das Bereitstellungsmodell Zwei vNICs pro pNIC, das eine bessere Netzwerkleistung bietet.

NetScaler VPX-Beispielkonfiguration:
Um die in der vorhergehenden Beispieltopologie gezeigte Bereitstellung zu erreichen, führen Sie die folgende Konfiguration auf der NetScaler VPX-Instanz durch:
-
Binden Sie auf der Clientseite die SNIP (1.1.1.2) an die Netzwerkschnittstelle 1/1 und aktivieren Sie den VLAN-Tag-Modus.
bind vlan 2 -ifnum 1/1 –tagged bind vlan 2 -IPAddress 1.1.1.2 255.255.255.0 <!--NeedCopy--> -
Binden Sie serverseitig die SNIP (2.2.2.2) an die Netzwerkschnittstelle 1/1 und aktivieren Sie den VLAN-Tag-Modus.
bind vlan 3 -ifnum 1/2 –tagged bind vlan 3 -IPAddress 2.2.2.2 255.255.255.0 <!--NeedCopy--> -
Fügen Sie einen virtuellen HTTP-Server (1.1.1.100) hinzu und binden Sie ihn an einen Dienst (2.2.2.100).
add lb vserver v1 HTTP 1.1.1.100 80 -persistenceType NONE -Listenpolicy None -cltTimeout 180 add service s1 2.2.2.100 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp ON -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO bind lb vserver v1 s1 <!--NeedCopy-->
Hinweis:
Stellen Sie sicher, dass Sie die folgenden zwei Einträge in die Routing-Tabelle aufnehmen:
- 1.1.1.0/24 Subnetz mit Gateway, das auf SNIP 1.1.1.2 zeigt
- 2.2.2.0/24 Subnetz mit Gateway, das auf SNIP 2.2.2.2 zeigt
NetScaler VPX mit VMXNET3-Netzwerkschnittstellen
Um eine hohe Leistung für VPX mit VMXNET3-Netzwerkschnittstellen zu erzielen, nehmen Sie die folgenden Einstellungen auf dem VMware ESX-Host vor:
- Erstellen Sie zwei vNICs aus einem pNIC vSwitch. Mehrere vNICs erzeugen mehrere Rx-Threads im ESX-Host. Dies erhöht den Rx-Durchsatz der pNIC-Schnittstelle.
- Aktivieren Sie VLANs auf der vSwitch-Portgruppenebene für jede von Ihnen erstellte vNIC.
- Um den vNIC-Sende-(Tx)-Durchsatz zu erhöhen, verwenden Sie pro vNIC einen separaten Tx-Thread im ESX-Host. Verwenden Sie die folgenden ESX-Befehle:
- Für ESX-Version 5.5:
esxcli system settings advanced set –o /Net/NetTxWorldlet –i <!--NeedCopy-->- Für ESX-Version 6.0 und höher:
esxcli system settings advanced set -o /Net/NetVMTxType –i 1 <!--NeedCopy-->
Führen Sie auf dem VMware ESX-Host die folgende Konfiguration durch:
- Erstellen Sie auf dem VMware ESX-Host zwei vNICs aus einem pNIC vSwitch. Mehrere vNICs erzeugen mehrere Tx- und Rx-Threads im ESX-Host. Dies erhöht den Tx- und Rx-Durchsatz der pNIC-Schnittstelle.
- Aktivieren Sie VLANs auf der vSwitch-Portgruppenebene für jede vNIC, die Sie erstellt haben.
-
Um den Tx-Durchsatz einer vNIC zu erhöhen, verwenden Sie einen separaten Tx-Completion-Thread und Rx-Threads pro Geräte- (NIC-)Warteschlange. Verwenden Sie den folgenden Befehl:
esxcli system settings advanced set -o /Net/NetNetqRxQueueFeatPairEnable -i 0 <!--NeedCopy--> -
Konfigurieren Sie eine VM so, dass sie einen Übertragungs-Thread pro vNIC verwendet, indem Sie die folgende Einstellung zur Konfiguration der VM hinzufügen:
ethernetX.ctxPerDev = "1" <!--NeedCopy--> -
Konfigurieren Sie eine VM so, dass sie bis zu 8 Übertragungs-Threads pro vNIC verwendet, indem Sie die folgende Einstellung zur Konfiguration der VM hinzufügen:
ethernetX.ctxPerDev = "3" <!--NeedCopy-->Hinweis:
Das Erhöhen der Übertragungs-Threads pro vNIC erfordert mehr CPU-Ressourcen (bis zu 8) auf dem ESX-Host. Stellen Sie sicher, dass ausreichend CPU-Ressourcen verfügbar sind, bevor Sie die vorhergehenden Einstellungen vornehmen.
Hinweis:
Stellen Sie sicher, dass Sie den VMware ESX-Host neu starten, um die aktualisierten Einstellungen zu übernehmen.
Sie können VMXNET3 als Bereitstellung mit zwei vNICs pro pNIC konfigurieren. Weitere Informationen finden Sie unter Bereitstellung mit zwei vNICs pro pNIC.
Konfigurieren der Multi-Queue- und RSS-Unterstützung auf VMware ESX für VMXNET3-Geräte
Standardmäßig unterstützt das VMXNET3-Gerät nur 8 Rx- und Tx-Warteschlangen. Wenn die Anzahl der vCPUs auf dem VPX 8 überschreitet, wechselt die Anzahl der für eine VMXNET3-Schnittstelle konfigurierten Rx- und Tx-Warteschlangen standardmäßig auf 1. Sie können bis zu 19 Rx- und Tx-Warteschlangen für VMXNET3-Geräte konfigurieren, indem Sie bestimmte Konfigurationen auf ESX ändern. Diese Option erhöht die Leistung und die gleichmäßige Verteilung der Pakete über die vCPUs der VPX-Instanz.
Hinweis:
Ab NetScaler Release 13.1 Build 48.x unterstützt der NetScaler VPX bis zu 19 Rx- und Tx-Warteschlangen auf ESX für VMXNET3-Geräte.
Voraussetzungen:
Um bis zu 19 Rx- und Tx-Warteschlangen auf ESX für VMXNET3-Geräte zu konfigurieren, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
- NetScaler VPX Version ist 13.1 Build 48.X und höher.
- NetScaler VPX ist mit einer virtuellen Maschine der Hardwareversion 17 und höher konfiguriert, die von VMware ESX 7.0 und höher unterstützt wird.
VMXNET3-Schnittstellen konfigurieren, um mehr als 8 Rx- und Tx-Warteschlangen zu unterstützen:
- Öffnen Sie die Konfigurationsdatei der virtuellen Maschine (.vmx-Datei).
-
Geben Sie die Anzahl der Rx- und TX-Warteschlangen an, indem Sie die Werte
ethernetX.maxTxQueuesundethernetX.maxRxQueueskonfigurieren (wobei X die Anzahl der zu konfigurierenden virtuellen NICs ist). Die maximale Anzahl der konfigurierten Warteschlangen darf nicht größer sein als die Anzahl der vCPUs in der virtuellen Maschine.Hinweis:
Eine Erhöhung der Anzahl der Warteschlangen erhöht auch den Prozessor-Overhead auf dem ESX-Host. Stellen Sie daher sicher, dass auf dem ESX-Host ausreichende CPU-Ressourcen verfügbar sind, bevor Sie die Warteschlangen erhöhen. Sie können die maximal unterstützte Anzahl von Warteschlangen in Szenarien erhöhen, in denen die Anzahl der Warteschlangen als Leistungsengpass identifiziert wird. In diesen Situationen empfehlen wir, die Anzahl der Warteschlangen schrittweise zu erhöhen. Zum Beispiel von 8 auf 12, dann auf 16, dann auf 20 und so weiter. Bewerten Sie die Leistung bei jeder Einstellung, anstatt direkt auf das maximale Limit zu erhöhen.
NetScaler VPX mit SR-IOV- und PCI-Passthrough-Netzwerkschnittstellen
Um eine hohe Leistung für VPX mit SR-IOV- und PCI-Passthrough-Netzwerkschnittstellen zu erzielen, siehe Empfohlene Konfiguration auf ESX-Hosts.
NetScaler VPX-Instanz auf der Linux-KVM-Plattform
Dieser Abschnitt enthält Details zu konfigurierbaren Optionen und Einstellungen sowie weitere Vorschläge, die Ihnen helfen, die optimale Leistung der NetScaler VPX-Instanz auf der Linux-KVM-Plattform zu erzielen.
- Leistungseinstellungen für KVM
- NetScaler VPX mit PV-Netzwerkschnittstellen
- NetScaler VPX mit SR-IOV- und Fortville-PCIe-Passthrough-Netzwerkschnittstellen
Leistungseinstellungen für KVM
Führen Sie die folgenden Einstellungen auf dem KVM-Host durch:
Ermitteln Sie die NUMA-Domäne der NIC mithilfe des lstopo Befehls:
Stellen Sie sicher, dass der Speicher für die VPX und die CPU am selben Ort fixiert ist. In der folgenden Ausgabe ist die 10G-NIC „ens2“ an NUMA-Domäne #1 gebunden.

Weisen Sie den VPX-Speicher aus der NUMA-Domäne zu.
Der numactl Befehl gibt die NUMA-Domäne an, aus der der Speicher zugewiesen wird. In der folgenden Ausgabe werden etwa 10 GB RAM vom NUMA-Knoten #0 zugewiesen.

Um die NUMA-Knotenzuordnung zu ändern, führen Sie die folgenden Schritte aus.
-
Bearbeiten Sie die .xml der VPX auf dem Host.
/etc/libvirt/qemu/<VPX_name>.xml <!--NeedCopy--> -
Fügen Sie das folgende Tag hinzu:
<numatune> <memory mode="strict" nodeset="1"/> This is the NUMA domain name </numatune> <!--NeedCopy--> -
Fahren Sie die VPX herunter.
-
Führen Sie den folgenden Befehl aus:
virsh define /etc/libvirt/qemu/<VPX_name>.xml <!--NeedCopy-->Dieser Befehl aktualisiert die Konfigurationsinformationen für die VM mit den NUMA-Knotenzuordnungen.
-
Schalten Sie die VPX ein. Überprüfen Sie dann die
numactl –hardwareBefehlsausgabe auf dem Host, um die aktualisierten Speicherzuweisungen für die VPX anzuzeigen.
Fixieren Sie vCPUs der VPX an physische Kerne.
-
Um die vCPU-zu-pCPU-Zuordnungen einer VPX anzuzeigen, geben Sie den folgenden Befehl ein:
virsh vcpupin <VPX name> <!--NeedCopy-->
Die vCPUs 0–4 sind den physischen Kernen 8–11 zugeordnet.
-
Um die aktuelle pCPU-Auslastung anzuzeigen, geben Sie den folgenden Befehl ein:
mpstat -P ALL 5 <!--NeedCopy-->
In dieser Ausgabe ist 8 die Management-CPU und 9–11 sind Paket-Engines.
-
Um die vCPU-zu-pCPU-Fixierung zu ändern, gibt es zwei Optionen.
-
Ändern Sie sie zur Laufzeit, nachdem die VPX hochgefahren ist, mit dem folgenden Befehl:
virsh vcpupin <VPX name> <vCPU id> <pCPU number> virsh vcpupin NetScaler-VPX-XML 0 8 virsh vcpupin NetScaler-VPX-XML 1 9 virsh vcpupin NetScaler-VPX-XML 2 10 virsh vcpupin NetScaler-VPX-XML 3 11 <!--NeedCopy--> -
Um statische Änderungen an der VPX vorzunehmen, bearbeiten Sie die Datei
.xmlwie zuvor mit den folgenden Tags:-
Bearbeiten Sie die .xml-Datei der VPX auf dem Host.
/etc/libvirt/qemu/<VPX_name>.xml <!--NeedCopy--> -
Fügen Sie das folgende Tag hinzu:
<vcpu placement='static' cpuset='8-11'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='8'/> <vcpupin vcpu='1' cpuset='9'/> <vcpupin vcpu='2' cpuset='10'/> <vcpupin vcpu='3' cpuset='11'/> </cputune> <!--NeedCopy--> -
Fahren Sie die VPX herunter.
-
Aktualisieren Sie die Konfigurationsinformationen für die VM mit den NUMA-Knotenzuordnungen mithilfe des folgenden Befehls:
virsh define /etc/libvirt/qemu/ <VPX_name>.xml <!--NeedCopy--> -
Schalten Sie die VPX ein. Überprüfen Sie dann die Ausgabe des Befehls
virsh vcpupin <VPX name>auf dem Host, um die aktualisierte CPU-Fixierung zu sehen.
-
-
Host-Interrupt-Overhead eliminieren.
-
VM_EXITS mit dem Befehl
kvm_staterkennen.Auf Hypervisor-Ebene werden Host-Interrupts denselben pCPUs zugeordnet, an die die vCPUs des VPX angeheftet sind. Dies kann dazu führen, dass vCPUs auf dem VPX periodisch entfernt werden.
Um die VM-Exits zu finden, die von VMs auf dem Host durchgeführt werden, verwenden Sie den Befehl
kvm_stat.[root@localhost ~]# kvm_stat -1 | grep EXTERNAL kvm_exit(EXTERNAL_INTERRUPT) 1728349 27738 [root@localhost ~]# <!--NeedCopy-->Ein höherer Wert in der Größenordnung von 1+M deutet auf ein Problem hin.
Wenn eine einzelne VM vorhanden ist, liegt der erwartete Wert bei 30–100 K. Alles, was darüber liegt, kann darauf hindeuten, dass ein oder mehrere Host-Interrupt-Vektoren derselben pCPU zugeordnet sind.
-
Host-Interrupts erkennen und Host-Interrupts migrieren.
Wenn Sie den Befehl
concatenatefür die Datei „/proc/interrupts“ ausführen, werden alle Host-Interrupt-Zuordnungen angezeigt. Wenn ein oder mehrere aktive IRQs derselben pCPU zugeordnet sind, erhöht sich der entsprechende Zähler.Verschieben Sie alle Interrupts, die sich mit den pCPUs Ihres NetScaler VPX überschneiden, auf ungenutzte pCPUs:
echo 0000000f > /proc/irq/55/smp_affinity 0000000f - - > it is a bitmap, LSBs indicates that IRQ 55 can only be scheduled on pCPUs 0 – 3 <!--NeedCopy--> -
IRQ-Balance deaktivieren.
Deaktivieren Sie den IRQ-Balance-Daemon, damit keine Neuplanung spontan erfolgt.
service irqbalance stop service irqbalance show - To check the status service irqbalance start - Enable if needed <!--NeedCopy-->Stellen Sie sicher, dass Sie den Befehl
kvm_statausführen, um zu gewährleisten, dass nicht viele Zähler vorhanden sind.
NetScaler VPX mit PV-Netzwerkschnittstellen
Sie können Para-Virtualisierung (PV), SR-IOV und PCIe-Passthrough-Netzwerkschnittstellen als Bereitstellung mit zwei vNICs pro pNIC konfigurieren. Weitere Informationen finden Sie unter Bereitstellung mit zwei vNICs pro pNIC.
Für eine optimale Leistung von PV (virtio)-Schnittstellen gehen Sie wie folgt vor:
- Identifizieren Sie die NUMA-Domäne, an die der PCIe-Steckplatz/NIC gebunden ist.
- Der Arbeitsspeicher und die vCPU für die VPX müssen an dieselbe NUMA-Domäne gebunden sein.
- Der Vhost-Thread muss an die CPUs in derselben NUMA-Domäne gebunden sein.
Binden Sie die virtuellen Host-Threads an die entsprechenden CPUs:
-
Sobald der Datenverkehr gestartet ist, führen Sie den Befehl
topauf dem Host aus.
- Identifizieren Sie die Affinität des virtuellen Host-Prozesses (benannt als
vhost-<pid-of-qemu>). -
Binden Sie die vHost-Prozesse mit dem folgenden Befehl an die physischen Kerne in der zuvor identifizierten NUMA-Domäne:
taskset –pc <core-id> <process-id> <!--NeedCopy-->Beispiel:
taskset –pc 12 29838 <!--NeedCopy--> -
Die Prozessorkerne, die der NUMA-Domäne entsprechen, können mit dem folgenden Befehl identifiziert werden:
[root@localhost ~]# virsh capabilities | grep cpu <cpu> </cpu> <cpus num='8'> <cpu id='0' socket_id='0' core_id='0' siblings='0'/> <cpu id='1' socket_id='0' core_id='1' siblings='1'/> <cpu id='2' socket_id='0' core_id='2' siblings='2'/> <cpu id='3' socket_id='0' core_id='3' siblings='3'/> <cpu id='4' socket_id='0' core_id='4' siblings='4'/> <cpu id='5' socket_id='0' core_id='5' siblings='5'/> <cpu id='6' socket_id='0' core_id='6' siblings='6'/> <cpu id='7' socket_id='0' core_id='7' siblings='7'/> </cpus> <cpus num='8'> <cpu id='8' socket_id='1' core_id='0' siblings='8'/> <cpu id='9' socket_id='1' core_id='1' siblings='9'/> <cpu id='10' socket_id='1' core_id='2' siblings='10'/> <cpu id='11' socket_id='1' core_id='3' siblings='11'/> <cpu id='12' socket_id='1' core_id='4' siblings='12'/> <cpu id='13' socket_id='1' core_id='5' siblings='13'/> <cpu id='14' socket_id='1' core_id='6' siblings='14'/> <cpu id='15' socket_id='1' core_id='7' siblings='15'/> </cpus> <cpuselection/> <cpuselection/> <!--NeedCopy-->
Binden Sie den QEMU-Prozess an den entsprechenden physischen Kern:
- Identifizieren Sie die physischen Kerne, auf denen der QEMU-Prozess ausgeführt wird. Weitere Informationen finden Sie in der vorhergehenden Ausgabe.
-
Binden Sie den QEMU-Prozess mit dem folgenden Befehl an dieselben physischen Kerne, an die Sie die vCPUs binden:
taskset –pc 8-11 29824 <!--NeedCopy-->
NetScaler VPX mit SR-IOV- und Fortville-PCIe-Passthrough-Netzwerkschnittstellen
Für eine optimale Leistung der SR-IOV- und Fortville-PCIe-Passthrough-Netzwerkschnittstellen führen Sie die folgenden Schritte aus:
- Identifizieren Sie die NUMA-Domäne, an die der PCIe-Steckplatz/NIC gebunden ist.
- Der Speicher und die vCPU für die VPX müssen an dieselbe NUMA-Domäne gebunden sein.
Beispiel-VPX-XML-Datei für vCPU- und Speicher-Pinning für Linux KVM:
<domain type='kvm'>
<name>NetScaler-VPX</name>
<uuid>138f7782-1cd3-484b-8b6d-7604f35b14f4</uuid>
<memory unit='KiB'>8097152</memory>
<currentMemory unit='KiB'>8097152</currentMemory>
<vcpu placement='static'>4</vcpu>
<cputune>
<vcpupin vcpu='0' cpuset='8'/>
<vcpupin vcpu='1' cpuset='9'/>
<vcpupin vcpu='2' cpuset='10'/>
<vcpupin vcpu='3' cpuset='11'/>
</cputune>
<numatune>
<memory mode='strict' nodeset='1'/>
</numatune>
</domain>
<!--NeedCopy-->
NetScaler VPX-Instanz auf Citrix Hypervisors
Dieser Abschnitt enthält Details zu konfigurierbaren Optionen und Einstellungen sowie weitere Vorschläge, die Ihnen helfen, eine optimale Leistung der NetScaler VPX-Instanz auf Citrix Hypervisors zu erzielen.
- Leistungseinstellungen für Citrix Hypervisors
- NetScaler VPX mit SR-IOV-Netzwerkschnittstellen
- NetScaler VPX mit paravirtualisierten Schnittstellen
Leistungseinstellungen für Citrix Hypervisors
Ermitteln Sie die NUMA-Domäne des NICs mit dem Befehl „xl“:
xl info -n
<!--NeedCopy-->
Binden Sie vCPUs der VPX an physische Kerne.
xl vcpu-pin <Netsclaer VM Name> <vCPU id> <physical CPU id>
<!--NeedCopy-->
Überprüfen Sie die Bindung der vCPUs.
xl vcpu-list
<!--NeedCopy-->
Weisen Sie NetScaler-VMs mehr als 8 vCPUs zu.
Um mehr als 8 vCPUs zu konfigurieren, führen Sie die folgenden Befehle von der Citrix Hypervisor™-Konsole aus:
xe vm-param-set uuid=your_vms_uuid VCPUs-max=16
xe vm-param-set uuid=your_vms_uuid VCPUs-at-startup=16
<!--NeedCopy-->
NetScaler VPX mit SR-IOV-Netzwerkschnittstellen
Für optimale Leistung der SR-IOV-Netzwerkschnittstellen führen Sie die folgenden Schritte aus:
- Identifizieren Sie die NUMA-Domäne, an die der PCIe-Steckplatz oder die NIC gebunden ist.
- Fixieren Sie den Arbeitsspeicher und die vCPU für die VPX an dieselbe NUMA-Domäne.
- Binden Sie die Domain-0-vCPU an die verbleibende CPU.
NetScaler VPX mit paravirtualisierten Schnittstellen
Für optimale Leistung werden Konfigurationen mit zwei vNICs pro pNIC und einer vNIC pro pNIC empfohlen, wie in anderen PV-Umgebungen.
Um eine optimale Leistung von paravirtualisierten (Netfront-)Schnittstellen zu erzielen, führen Sie die folgenden Schritte aus:
- Identifizieren Sie die NUMA-Domäne, an die der PCIe-Steckplatz oder die NIC gebunden ist.
- Fixieren Sie den Arbeitsspeicher und die vCPU für die VPX an dieselbe NUMA-Domäne.
- Binden Sie die Domain-0-vCPU an die verbleibende CPU derselben NUMA-Domäne.
- Fixieren Sie Host-Rx/Tx-Threads der vNIC an Domain-0-vCPUs.
Fixieren Sie Host-Threads an Domain-0-vCPUs:
- Suchen Sie die Xen-ID der VPX mithilfe des Befehls
xl listauf der Citrix Hypervisor Host-Shell. -
Identifizieren Sie Host-Threads mithilfe des folgenden Befehls:
ps -ax | grep vif <Xen-ID> <!--NeedCopy-->Im folgenden Beispiel geben diese Werte an:
- vif5.0 - Die Threads für die erste Schnittstelle, die VPX in XenCenter zugewiesen wurden (Managementschnittstelle).
- vif5.1 - Die Threads für die zweite Schnittstelle, die VPX zugewiesen wurden, und so weiter.

-
Heften Sie die Threads mit dem folgenden Befehl an die Domain-0 vCPUs an:
taskset –pc <core-id> <process-id> <!--NeedCopy-->Beispiel:
taskset -pc 1 29189 <!--NeedCopy-->