Ci è una descrizione qui:
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_MRG/1.0/html/Realtime_Tuning_Guide/sect-Realtime_Tuning_Guide-Application_Tuning_and_Deployment-TCP_NODELAY_and_Small_Buffer_Writes.htmlInoltre dal tcp (5) pagina di uomo:
TCP_NODELAY
Se regolato, rendere invalida la procedura di Nagle. Ciò significa che i segmenti sono trasmessi sempre As
presto come possibile, anche se ci è soltanto una piccola quantità di dati. Una volta non regolato, dati
è attenuato fino a che non ci sia un importo sufficiente da spedire, quindi evitare
frequente invio dei pacchetti piccoli, che provoca l'utilizzazione difficile della rete
lavoro. Questa opzione è ignorata da TCP_CORK; tuttavia, regolando le forze di questa opzione
un rossoreare esplicito di uscita in corso, anche se TCP_CORK attualmente è regolato.
Ho scritto un assistente di TCP del campione che regola TCP_NODELAY sullo zoccolo. Allora spedice i dati in vari formati da 1 a 8192 byte. Potete compilare e farlo funzionare gradire questo:
GCC di $ - o nodelay_test.c più nodelay_test
$ ./nodelay_test
Allora dalle altre coperture potete collegarti ad esso gradite questo, using netcat:
$ di localhost 5678 di nc
Potete fare i vari esperimenti di sincronizzazione permettendo/rendendo invalida la regolazione di TCP_NODELAY ed usando “il tempo„ con il nc come questo:
$ di tempo di localhost 5678 di nc > /dev/null
0m0.003s reale
utente 0m0.000s
sistema 0m0.000s
Naturalmente potete anche usarli sulla rete per i risultati più interessanti. Sostituire appena il localhost con i adderss del IP della macchina che fa funzionare il programma di prova. E potete aumentare il formato dell'amplificatore.
Sperare che aiuti!