Il 06 dicembre 2011 19:38, Manlio Perillo <manlio.peri...@gmail.com> ha scritto: >> Riusciresti a darmi qualche dettaglio in più? > > Per il "Thundering herd problem", trovi una breve descrizione su Wikipedia: > http://en.wikipedia.org/wiki/Thundering_herd_problem > > Vedi anche: > http://www.citi.umich.edu/projects/linux-scalability/reports/accept.html > > > Il problema è menzionato anche nel libro "UNIX Network Programming". > In particolare, oltre al problema di prestazioni che per pochi processi > non dovrebbe essere preoccupante, c'è un altro problema con quello che > fai: chiamare accept sullo stesso file descriptor ereditato potrebbe > **non** funzionare su alcuni sistemi; in questi casi hai bosogno di > serializzare la chiamata con un lock o mutex (che è quello che, > opzionalmente, fa Nginx [1]). > > Ti consiglio di fare dei test e di documentarti meglio (io non so > nemmeno cosa è cambiato in versioni recenti di Linux).
Grazie, non ero minimamente a conoscenza del problema. Leggerò partendo dagli spunti che mi hai dato. Per la cronaca, tornado dovrebbe soffrire dello stesso "problema", solo che anzichè utilizzare multiprocessing fa il tutto a mano con fork(), che ipotizzo sia concettualmente identico: https://github.com/facebook/tornado/blob/master/tornado/process.py#L64 https://github.com/facebook/tornado/blob/master/tornado/netutil.py#L151 --- Giampaolo http://code.google.com/p/pyftpdlib/ http://code.google.com/p/psutil/ _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python