Ok, ritorniamo un passo indietro e cerchiamo di essere costruttivi e soprattutto di intenderci.
Partiamo da una tua affermazione:
"se per esempio uno script php fa pesanti operazioni tra array di miliardi di elementi"
l'I/O wait non viene introdotto solo dalla risorsa disco ma da qualsiasi sottoinsieme di Input Output quindi oltre alla risorsa disco anche la risorsa rete e la risorsa memoria.
Il privilegio di avere DMA lato CPU è un vantaggio, ma l'accesso alla momeria centrale può diventare un tranello nel caso in cui il tuo sistema utilizza swap disco a livello di memoria centrale.
Quindi una prima domanda è : Il tuo sistema utilizza swap?
Per quanto riguarda invece l'I/O lato rete posso indicarti che il suo abuso è una delle prime tecniche utilizzate per DOS (Denial Of Service), in pratica si inviano tante richieste di syn che ovviamente alloca risorse (CPU,Memoria) finchè il sistema server non sià più disponibile. Hai notato traffico anomalo lato rete?
Premesso questo ritorniamo al codice e cerchiamo di capire due cose :
Che tipo di utenza hai?
Quanti accessi paralleli?
Premesso che allo stato attuale il codice PHP fà ben poco inquanto deve essere l'ambiente Middleware ad essere ottimizzato per il multithread ed il multicore ti invito a leggere alcune considerazioni riportate qui da persone sicuramente più esperte di me visto che purtroppo non ho grandi competenze lato php
http://forum.html.it/forum/showthread/t-1219940.htmlSpero che la mia considerazione(per un analisi ci vogliono i dati :-) ) ti possa essere utile.
Ciao