Ho una macchina virtuale Ubuntu, in esecuzione all'interno di Xen XCP basato su Ubuntu. Ospita un servizio HTTP personalizzato basato su FCGI, dietro nginx
.
Sotto carico dal ab
primo core della CPU è saturo e il resto è sotto-caricato.
In /proc/interrupts
Vedo che CPU0 serve un ordine di grandezza più interrupt di qualsiasi altro core. Molti di loro vengono eth1
.
C'è qualcosa che posso fare per migliorare le prestazioni di questa VM? C'è un modo per bilanciare gli interrupt in modo più uniforme?
Dettagli Gory:
$ uname -a Linux MYHOST 2.6.38-15-virtual # 59-Ubuntu SMP ven 27 apr 16:40:18 UTC 2012 i686 i686 i386 GNU / Linux $ lsb_release -a Non sono disponibili moduli LSB. ID distributore: Ubuntu Descrizione: Ubuntu 11.04 Rilascio: 11.04 Nome in codice: natty $ cat / proc / interrupt CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 283: 113720624 0 0 0 0 0 0 0 xen-dyn-event eth1 284: 1 0 0 0 0 0 0 0 xen-dyn-event eth0 285: 2254 0 0 3873799 0 0 0 0 xen-dyn-event blkif 286: 23 0 0 0 0 0 0 0 xen-dyn-event hvc_console 287: 492 42 0 0 0 0 0 295324 xenbus xen-dyn-event 288: 0 0 0 0 0 0 0 222294 xen-percpu-ipi callfuncsingle7 289: 0 0 0 0 0 0 0 0 debug xen-percpu-virq7 290: 0 0 0 0 0 0 0 151302 xen-percpu-ipi callfunc7 291: 0 0 0 0 0 0 0 3236015 xen-percpu-ipi riprogrammato7 292: 0 0 0 0 0 0 0 60064 xen-percpu-ipi spinlock7 293: 0 0 0 0 0 0 0 12355510 xen-percpu-virq timer7 294: 0 0 0 0 0 0 803174 0 xen-percpu-ipi callfuncsingle6 295: 0 0 0 0 0 0 0 0 debug xen-percpu-virq6 296: 0 0 0 0 0 0 60027 0 xen-percpu-ipi callfunc6 297: 0 0 0 0 0 0 5374762 0 xen-percpu-ipi riprogrammato6 298: 0 0 0 0 0 0 64976 0 xen-percpu-ipi spinlock6 299: 0 0 0 0 0 0 15294870 0 timer xen-percpu-virq6 300: 0 0 0 0 0 264441 0 0 xen-percpu-ipi callfuncsingle5 301: 0 0 0 0 0 0 0 0 debug xen-percpu-virq5 302: 0 0 0 0 0 79324 0 0 xen-percpu-ipi callfunc5 303: 0 0 0 0 0 3468144 0 0 xen-percpu-ipi riprogrammato5 304: 0 0 0 0 0 66269 0 0 xen-percpu-ipi spinlock5 305: 0 0 0 0 0 12778464 0 0 xen-percpu-virq timer5 306: 0 0 0 0 844591 0 0 0 xen-percpu-ipi callfuncsingle4 307: 0 0 0 0 0 0 0 0 debug xen-percpu-virq4 308: 0 0 0 0 75293 0 0 0 xen-percpu-ipi callfunc4 309: 0 0 0 0 3482146 0 0 0 xen-percpu-ipi riprogrammato4 310: 0 0 0 0 79312 0 0 0 xen-percpu-ipi spinlock4 311: 0 0 0 0 21642424 0 0 0 xen-percpu-virq timer4 312: 0 0 0 449141 0 0 0 0 xen-percpu-ipi callfuncsingle3 313: 0 0 0 0 0 0 0 0 debug xen-percpu-virq3 314: 0 0 0 95405 0 0 0 0 xen-percpu-ipi callfunc3 315: 0 0 0 3802992 0 0 0 0 xen-percpu-ipi riprogrammato3 316: 0 0 0 76607 0 0 0 0 xen-percpu-ipi spinlock3 317: 0 0 0 16439729 0 0 0 0 xen-percpu-virq timer3 318: 0 0 876383 0 0 0 0 0 xen-percpu-ipi callfuncsingle2 319: 0 0 0 0 0 0 0 0 debug xen-percpu-virq2 320: 0 0 76416 0 0 0 0 0 xen-percpu-ipi callfunc2 321: 0 0 3422476 0 0 0 0 0 xen-percpu-ipi riprogrammato2 322: 0 0 69217 0 0 0 0 0 xen-percpu-ipi spinlock2 323: 0 0 10247182 0 0 0 0 0 xen-percpu-virq timer2 324: 0 393514 0 0 0 0 0 0 xen-percpu-ipi callfuncsingle1 325: 0 0 0 0 0 0 0 0 debug xen-percpu-virq1 326: 0 95773 0 0 0 0 0 0 xen-percpu-ipi callfunc1 327: 0 3551629 0 0 0 0 0 0 xen-percpu-ipi riprogrammato1 328: 0 77823 0 0 0 0 0 0 xen-percpu-ipi spinlock1 329: 0 13784021 0 0 0 0 0 0 xen-percpu-virq timer1 330: 730435 0 0 0 0 0 0 0 xen-percpu-ipi callfuncsingle0 331: 0 0 0 0 0 0 0 0 debug xen-percpu-virq0 332: 39649 0 0 0 0 0 0 0 xen-percpu-ipi callfunc0 333: 3607120 0 0 0 0 0 0 0 xen-percpu-ipi riprogrammato0 334: 348740 0 0 0 0 0 0 0 xen-percpu-ipi spinlock0 335: 89912004 0 0 0 0 0 0 0 xen-percpu-virq timer0 NMI: 0 0 0 0 0 0 0 0 Interrupt non mascherabili LOC: 0 0 0 0 0 0 0 0 Il timer locale si interrompe SPU: 0 0 0 0 0 0 0 0 Interruzioni spurie PMI: 0 0 0 0 0 0 0 0 Interruzione del monitoraggio delle prestazioni IWI: 0 0 0 0 0 0 0 0 Interrupt di lavoro IRQ RES: 3607120 3551629 3422476 3802992 3482146 3468144 5374762 3236015 Riprogrammazione degli interrupt CAL: 770084 489287 952799 544546 919884 343765 863201 373596 Interrupt di chiamata funzione TLB: 0 0 0 0 0 0 0 0 Shooting TLB TRM: 0 0 0 0 0 0 0 0 Interruzioni di eventi termici THR: 0 0 0 0 0 0 0 0 Soglia APIC interrotta MCE: 0 0 0 0 0 0 0 0 Eccezioni controllo macchina MCP: 0 0 0 0 0 0 0 0 Sondaggi controllo macchina ERR: 0 MIS: 0
eth1
?