Citrix ADC

Citrix ADC VPX auf VMware ESX, Linux KVM和Citrix hypervisor

Die Leistung von Citrix ADC VPX hängt stark vom Hypervisor, den zugewiesenen systemresource und den hostconfig figationen ab. Um Die gewünschte Leistung zu erzielen, befolgen Sie zunächst Die Empfehlungen im VPX- datenblatt and optimieren Sie danthilfe in diesem文档enthaltenen最佳实践weiter。

Citrix ADC VPX-Instanz auf VMware esx - hypervisor

Dieser Abschnitt enthält Details zu konfigurierbaren Optionen und einstein sowie andere Vorschläge, mit denen Sie eine optimale Leistung der Citrix ADC VPX-Instanz auf VMware ESX-Hypervisoren erzielen können。

ESX-Hosts配置auf

Befolgen Sie diese Empfehlungen, um eine hohe Leistung für VPX mit E1000-, VMXNET3-, SR-IOV- und PCI-Passthrough-Netzwerkschnittstellen zu erzielen:

  • ESX-Host bereitgestellten virtuellen cpu (vcpu) muss kleiner oder gleich der Gesamtzahl der physischen cpu (pcpu) auf dem ESX-Host sein。
  • Affinität und CPU-Affinität für ungleichmäßigen Speicherzugriff (NUMA) müssen festgelegt werden,该死的ESX-Host gute Ergebnisse erzielt。

    - Um die NUMA-Affinität eines vnic zu ermitteln, melden Sie siich lokal oder remote bem Host an und geben Sie Folgendes in:

    # vish -e get /net/pNics/vmnic7/properties | grep NUMA Device NUMA Node: 0 
    • 信息zum Festlegen der NUMA- und vCPU-Affinität für eine VM find Sie in derVMware-Dokumentation

Citrix ADC VPX mit E1000-Netzwerkschnittstellen

VMware ESX-Host vor台:

  • Erstellen Sie auf dem VMware ESX-Host zwei vNICs aus einem pNIC vSwitch。mehere vNICs erstellen mehere Rx-Threads im ESX-Host。死亡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-Übertragungsdurchsatz (Tx) zu erhöhen, verwenden Sie einen separaten Tx- thread im ESX-Host pro vNIC。Verwenden Sie den folgenden ESX-Befehl:
    • Für ESX 5.5版本:

      esxcli系统设置高级设置-o /Net/NetTxWorldlet -i 
    • Für ESX ab 6.0版本:

      esxcli system settings advanced set -o /Net/NetVMTxType -i 1 
  • Um den vNIC Tx-Durchsatz weiter zu erhöhen, verwenden Sie einen separaten Tx-Vervollständigungs-Thread und Rx-Threads pro Gerät (NIC) -Warteschlange。Verwenden Sie den folgenden ESX-Befehl:

    esxcli system settings advanced set -o /Net/NetNetqRxQueueFeatPairEnable -i 0 

Hinweis:

VMware ESX-Host neu starten, um die aktualisierten einstein ungen zu übernehmen。

Zwei vNICs pro pNIC-Bereitstellung

Im Folgenden finden Sie ein Beispiel für拓扑和配置sbefehle für das Bereitstellungsmodell mitzwei vNICs pro pNIC, das eine bessere Netzwerkleistung biet。

Zwei vNICs pro pNIC-Bereitstellung

Citrix ADC VPX beispielconfiguration:

产品名称:Beispieltopologie gezeigte beitstellung zu erreichen, führen Sie die folgende配置auf der Citrix ADC VPX-Instanz durch:

  • Binden Sie auf Clientseite das SNIP (1.1.1.2) an die Netzwerkschnittstelle 1/1 und aktivieren Sie den vlan - tag - mode。

    -ifnum 1/1 -tagged绑定vlan 2 -IPAddress 1.1.1.2 255.255.255.0 
  • Netzwerkschnittstelle 1/1 und aktivieren Sie den VLAN-Tag-Modus (2.2.2.2)

    绑定vlan 3 -ifnum 1/2 -tagged绑定vlan 3 -IPAddress 2.2.2.2 255.255.255.0 
  • Fügen Sie einen virtuellen HTTP-Server (1.1.1.100) hinzu und bind Sie ihn an einen Dienst(2.2.2.100)。

    add lb vserver v1 HTTP 1.1.1.100 80 -persistenceType NONE -Listenpolicy无-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 

Hinweis:

Stellen Sie sicher, dass Sie die folgenden beiden Einträge in die Routentabelle aufnehmen:

  • 1.1.1.0/24 Subnetz mit网关,das auf SNIP zeigt 1.1.1.2
  • 2.2.2.0/24 Subnetz mit网关,das auf SNIP zeigt 2.2.2.2

Citrix ADC VPX mit VMXNET3-Netzwerkschnittstellen

Um eine hohe Leistung für VPX mit VMXNET3-Netzwerkschnittstellen zu erzielen, nehmen Sie die folgenden einstein auf dem VMware ESX-Host vor:

  • Erstellen Sie zwei vNICs aus einem pNIC vSwitch。mehere vNICs erstellen mehere Rx-Threads im ESX-Host。死亡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-Übertragungsdurchsatz (Tx) zu erhöhen, verwenden Sie einen separaten Tx- thread im ESX-Host pro vNIC。Verwenden Sie die folgenden ESX-Befehle:
    • Für ESX 5.5版本:
    esxcli系统设置高级设置-o /Net/NetTxWorldlet -i 
    • Für ESX ab 6.0版本:
    esxcli system settings advanced set -o /Net/NetVMTxType -i 1 

Führen Sie auf dem VMware ESX-Host die folgende configuration durch:

  • Erstellen Sie auf dem VMware ESX-Host zwei vNICs aus einem pNIC vSwitch。mehere vNICs erstellen mehere Tx- und Rx-Threads im ESX-Host。死亡erhöht den Tx- und Rx-Durchsatz der pNIC-Schnittstelle。
  • Aktivieren Sie VLANs auf der vSwitch-Portgruppenebene für jede von Ihnen erstellte vNIC。
  • Um den Tx-Durchsatz einer vNIC zu erhöhen, verwenden Sie einen separaten Tx-Vervollständigungs-Thread und Rx-Threads pro Gerät (NIC) -Warteschlange。Verwenden Sie den folgenden Befehl:

    esxcli system settings advanced set -o /Net/NetNetqRxQueueFeatPairEnable -i 0 
  • 配置虚拟机für die Verwendung eines Übertragungs-Threads pro vNIC, indem Sie der configuration der VM die folgende Einstellung hinzufügen:

    ethernetX。ctxPerDev = "1" 

Weitere Informationen找到你最佳实践für die Leistungsoptimierung von Telekommunikations- und nfv - vSphere中的工作负载

Hinweis:

VMware ESX-Host neu starten, um die aktualisierten einstein ungen zu übernehmen。

Sie können VMXNET3 als Bereitstellung mitzwei vNICs pro pNICkonfigurieren。Weitere Informationen找到你Zwei vNICs pro pNIC-Bereitstellung

Citrix ADC VPX mit SR-IOV- und PCI pass - netzwerkschnittstellen

Leistung für VPX mit SR-IOV- und PCI-Passthrough-Netzwerkschnittstellen zu erzielen, siheESX-Hosts配置auf

Citrix ADC VPX-Instanz auf linux - kvm平台

Dieser Abschnitt enthält详细信息配置urierbaren Optionen和einstein sowie andere Vorschläge, mit denen Sie eine optimale Leistung der Citrix ADC VPX-Instanz auf der linux - kvm - platform erzielen können。

Leistungseinstellungen毛皮KVM

Nehmen Sie die folgenden einstein auf dem kvm -主持人:

芬登Sie die NUMA-Domäne der NIC mit demlstopoBefehl:

斯特伦Sie sicher, dass der Speicher für den VPX und die CPU an derselben Stelle angelheftet ist。在der folgenden Ausgabe ist死10g nic“ens2”an die NUMA-Domäne #1 gebunden。

NUMA-Domane # 1

Weisen Sie den VPX-Speicher aus der NUMA-Domäne zu。

Der使用Befehl gibt die NUMA-Domäne an, von der Speicher zugewiesen word。在der folgenden Ausgabe werden etwa 10 GB RAM vom NUMA-Knoten #0 zugewiesen。

NUMA-Knoten # 0

Gehen Sie folgendermaßen vor, um die NUMA-Knotenzuordnung zu ändern。

  1. XML des VPX auf dem Host。

    /etc/libvirt/qemu/ < VPX_name > . xml < !——NeedCopy >
  2. Fügen Sie das folgende Tag hinzu:

     NUMA域名。 
  3. Fahren Sie den VPX herunter。

  4. Führen Sie den folgenden Befehl aus:

    定义/etc/libvirt/qemu/.xml 

    Dieser Befehl aktualisiert die配置信息für die VM mit den NUMA-Knotenzuordnungen。

  5. Schalten Sie den VPX ein。Überprüfen Sie dann die使用硬件Befehlsausgabe auf dem Host, um die aktualisierten Speicherzuweisungen für den VPX zu sehen。

    Ausgabe des Hardwarebefehls numactl

引脚vCPUs von VPX一个物理机Kerne。

  • Um die vCPU zu pCPU-Zuordnungen einer VPX anzuzeigen, geben Sie den folgenden Befehl ein

    virsh vcpupin  

    Ausgabe des Befehls virsh-vcpupin

    vcpu 0-4 werden physikalischen Kernen 8-11 zugeordnet。

  • Um die aktuelle pCPU-Nutzung anzuzeigen, geben Sie den folgenden Befehl ein:

    mpstat -P ALL 5 

    Ausgabe des Befehls mpstat

    在柴油机Ausgabe ist 8管理cpu和9-11 paket引擎。

  • Um die vCPU auf pcpu - pin zu ändern, gibt es zwei Möglichkeiten。

    • Ändern Sie es zur Laufzeit, nachdem der VPX mit dem folgenden Befehl hochgefahren wurde:

      virsh vcpupin    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 
    • 嗯统计Änderungen an der VPX vorzunehmen, bearbeiten Sie die. xmlDatei wie zuvor mit den folgenden Tags:

      1. xml datei des VPX auf dem Host

        /etc/libvirt/qemu/ < VPX_name > . xml < !——NeedCopy >
      2. Fügen Sie das folgende Tag hinzu:

        4       
      3. Fahren Sie den VPX herunter。

      4. Aktualisieren Sie die配置信息für die VM mit den NUMA-Knotenzuordnungen mithilfe des folgenden Befehls:

        定义/etc/libvirt/qemu/ .xml 
      5. Schalten Sie den VPX ein。Überprüfen Sie dann dievirsh vcpupin Befehlsausgabe auf dem Host, um das aktualisierte cpu - pin zu sehen。

Eliminieren您Host-Interrupt-Overhead。

  • Erkennt vm_exit mithilife deskvm_statBefehls。

    Hypervisor-Ebene werden Host-Interrupts denselben PCPUs zugeordnet, Auf denen die vCPUs des VPX angelheftet sind。Dies kann dazu führen, dass vCPUs auf dem VPX regelmäßig rausgeschmissen werden。

    Verwenden您窝kvm_statBefehl, um die vm - exit zu finden, die von VMs durchgeführt wurden, auf denen der Host ausgeführt wird

    [root@localhost ~]# kvm_stat -1 | grep EXTERNAL kvm_exit(EXTERNAL_INTERRUPT) 1728349 27738 [root@localhost ~]# 

    Ein höherer Wert in der Größenordnung von 1+M weist auf Ein问题hin。

    Wenn eine einzelne VM vorhanden ist, beträgt der erwartete Wert 30-100 K。Alles andere kann darauf hinweisen, dass ein oder mehere Host-Interrupt-Vektoren derselben pCPU zugednet sind。

  • Erkennen Sie Host-Interrupts和migrieren Sie Host-Interrupts。

    您要是窝连接Befehl für die Datei " /proc/interrupts " ausführen, werden allle Host-Interrupt-Zuordnungen angezeigt。Wenn ein oder mehere akirqs derselben pCPU zugeordnet werden, erhöht siich der entsprechende Zähler。

    Ihres Citrix ADC VPX überschneiden, auf ungenutzte PCPUs:

    echo 0000000f > /proc/irq/55/smp_affinity 0000000f - - >位图,lbs表示IRQ 55只能调度在0 - 3 
  • Deaktivieren Sie das IRQ Guthaben

    irq - balance daemon, damit im laufenden Betrieb keine Umschuldung erfolgt。

    service irqbalance stop service irqbalance show -检查irqbalance start -如果需要启用

    斯特伦,你好,你好kvm_statBefehl ausführen,嗯sicherzustellen, dass es nicht viele Zähler gibt。

Citrix ADC VPX mit PV-Netzwerkschnittstellen

Sie können Para-Virtualization (PV), SR-IOV和pcie - passthrough - netzwerkschnittstellalsZwei vNICs pro pNIC-Bereitstellungkonfigurieren。Weitere Informationen找到你Zwei vNICs pro pNIC-Bereitstellung

Gehen Sie folgendermaßen vor, um eine optimale Leistung von PV (virtio) -Schnittstellen zu erzielen:

  • 标识NUMA-Domäne, pci - steckplatz /NIC gebunden ist的模具。
  • Der Speicher und die vCPU für den VPX müssen an dieselbe NUMA-Domäne angeheftet sein。
  • Der Vhost-Thread在derselben NUMA-Domäne gebunden sein中创建一个cpu。

Host-Threads an die entsprechenden cpu:

  1. Sobald der Verkehr gestartet wurde, führen Sie denBefehl auf dem Host aus。

    Führen Sie den Top-Befehl aus

  2. 识别菲方Sie die Affinität des virtuellen host - prozess (benannt als .vhost——< pid-of-qemu >).
  3. Binden Sie die vHost-Prozesse dem folgenden Befehl an die zuvor identifizierten physischen Kerne在NUMA-Domäne:

    Taskset -pc   

    Beispiel:

    Taskset -pc 12 29838 
  4. Die Prozessorkerne, Die der NUMA-Domäne entsprechen, können mit dem folgenden Befehl identifiziert werden:

    (root@localhost ~) # virsh能力| grep cpu < cpu > < / cpu > < cpu num = ' 8 ' > < cpu id = ' 0 ' socket_id = ' 0 ' core_id = ' 0 '兄弟姐妹= ' 0 ' / > < cpu id = ' 1 ' socket_id = ' 0 ' core_id =兄弟姐妹' 1 ' = ' 1 ' / > < cpu id = ' 2 ' socket_id = ' 0 ' core_id = ' 2 '兄弟姐妹= ' 2 ' / > < cpu id =“3”socket_id = ' 0 ' core_id = 3的兄弟姐妹= ' 3 ' / > < cpu id =“4”socket_id = ' 0 ' core_id =‘4’兄弟姐妹= ' 4 ' / > < cpu id =“5”socket_id = ' 0 ' core_id =‘5’的兄弟姐妹= ' 5 ' / > < cpu id =“6”socket_id = ' 0 ' core_id =“6”兄弟姐妹= ' 6 ' / > < cpu id =“7”socket_id = ' 0 ' core_id =“7”兄弟姐妹= ' 7 ' / > < / cpu > < cpu num = ' 8 ' > < cpu id =“8”socket_id = ' 1 ' core_id = ' 0 '兄弟姐妹= ' 8 ' / > < cpu id =“9”socket_id = ' 1 ' core_id = ' 1 '兄弟姐妹= ' 9 ' / > < cpu id =“10”socket_id = ' 1 ' core_id = ' 2 '兄弟姐妹=“10”/ > < cpu id =“11”socket_id = ' 1 ' core_id = 3的兄弟姐妹= ' 11 ' / > < cpu id =“12”socket_id = ' 1 ' core_id =‘4’兄弟姐妹=“12”/ > < cpu id =“13”socket_id = ' 1 ' core_id =‘5’的兄弟姐妹=“13”/ > < cpu id =“14”socket_id = ' 1 ' core_id =“6”兄弟姐妹=“14”/ > < cpu id =“15”socket_id = ' 1 ' core_id =“7”兄弟姐妹= ' 15 ' / > < / cpu > < cpuselection / >< cpuselection / > < !——NeedCopy >

宾登·西登·克恩:

  1. 证明我们的身体是健康的,我们的身体是健康的läuft。Weitere Informationen finden Sie in der vorhergehenden Ausgabe。
  2. Binden Sie den QEMU-Prozess mit dem folgenden Befehl an dieselben physikalischen Kerne,一个die Sie die vCPUs bind:

    Taskset -pc 8-11 29824 

Citrix ADC VPX mit SR-IOV und Fortville PCIe Passthrough-Netzwerkschnittstellen

Gehen Sie folgendermaßen vor, um eine optimale Leistung der SR-IOV- und Fortville PCIe-Passthrough-Netzwerkschnittstellen zu erzielen:

  • 标识NUMA-Domäne, pci - steckplatz /NIC gebunden ist的模具。
  • Der Speicher und die vCPU für den VPX müssen an dieselbe NUMA-Domäne angeheftet sein。

Beispiel für eine VPX-XML-Datei für vCPU und Speicher-Pinning für Linux KVM:

<域类型=“kvm”> <名称> NetScaler-VPX < /名称> < uuid > 138 f7782 - 1 - cd3 - 484 b - 8 b6d - 7604 f35b14f4 < / uuid > <内存单元=“简约”> 8097152 < /内存> < currentMemory单位=“简约”> 8097152 < / currentMemory > <个vcpu位置=“静态”> 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 > <内存模式=“严格”节点集= ' 1 ' / > < / numatune > < /域> < !——NeedCopy >

Citrix ADC VPX-Instanz auf Citrix hypervisor

Dieser Abschnitt enthält详细信息zu konfigurereraren Optionen und insteellungen sowie andere Vorschläge, mit denen Sie eine optimale Leistung der Citrix ADC VPX-Instanz auf Citrix hypervisor erzielen können。

Leistungseinstellungen für Citrix hypervisor

Finden Sie die NUMA-Domäne der NIC mit dem Befehl " xl ":

Xl info -n 

引脚vCPUs von VPX一个物理机Kerne。

xl vCPU -pin < netscaler虚拟机名称>  <物理CPU id> 

Überprüfen Sie die Bindung von vCPUs。

xl vcpu-list < !——NeedCopy >

伟森思思ADC VMs mehr als 8个vcpu zu。

Führen Sie zum konfigureren von mehr als 8个vcpu 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 

Citrix ADC VPX mit SR-IOV-Netzwerkschnittstellen

Gehen Sie folgendermaßen vor, um eine optimale Leistung der SR-IOV-Netzwerkschnittstellen zu erzielen:

  • 标识符Sie die NUMA-Domäne, pci - steckplatz order die bunden ist。
  • 斯特肯Sie den Speicher und die vCPU für den VPX an diesel NUMA-Domäne an。
  • Binden Sie die Domain-0 vCPU an die verbleibende CPU

Citrix ADC VPX mit paravirtualisierten Schnittstellen

Für eine optimale Leistung werden zwei vNIC pro pNIC和eine vNIC pro pNIC- configuration empfohlen, wie in anderen PV-Umgebungen。

Gehen Sie folgendermaßen vor, um eine optimale Leistung paraviralisierter (Netfront) Schnittstellen zu erzielen:

  • 标识符Sie die NUMA-Domäne, pci - steckplatz order die bunden ist。
  • 斯特肯Sie den Speicher und die vCPU für den VPX an diesel NUMA-Domäne an。
  • Binden Sie die Domain-0 vCPU an die verbleibende CPU derselben NUMA-Domäne。
  • 引脚主机Rx/ tx线程vNIC一个Domain-0 vcpu。

Domain-0 vcpu的主机线程:

  1. 苏晨Sie die Xen-ID des VPX mithilife desxl列表Befehls auf der Citrix Hypervisor Hostshell。
  2. mithilife des folgenden Befehls:

    ps -ax | grep vif  

    我是福尔根登Beispiel zeigen diese Werte:

    • vif5.0- Die Threads für Die erste Schnittstelle, Die VPX in XenCenter zugewiesen wurde (Verwaltungsschnittstelle)。
    • vif5.1-模螺纹für模zweite Schnittstelle,模VPX usw。zugewiesen信德。

    Ausgabe des Befehls xl list

  3. 线程mit dem folgenden Befehl -0 vcpu和:

    Taskset -pc   

    Beispiel:

    Taskset -pc 1 29189 
Citrix ADC VPX auf VMware ESX, Linux KVM和Citrix hypervisor