El Mon, 30 Nov 2015 14:09:00 -0300, Mauro Antivero escribió: > Estimados, tengo un script en PHP que realiza consultas SNMP a muchos > dispositivos y guarda los resultados en una DB MySQL. Una "ronda" > completa tarda aprox. 1 hora en correr. Esto en si por ahora no es un > problema pero me gustaría saber como puedo hacer para lanzar múltiples > consultas en paralelo (yo después vería como adaptar el script para que > cada uno consulte equipos distintos, sin pisarse digamos) para que > corran claro está al mismo tiempo. > > El script de momento lo ejecuto mediante CRON cada una hora. Yo puedo > ejecutar más de una vez el mismo script (por supuesto, me falta ver como > hacer para que cada uno de los scripts consulte equipos distintos, > supongo que lo haré pasándole parámetros al script), pero como hago para > hacer uso de los distintos CPUs del servior? En este caso el CPU es un > Xeon E3 1270. Es necesario hacer algo o ya el sistema se encarga de > asignar un núcleo a cada ejecución del script (creería que no).
Según la documentación, no parece que SNMP sea muy amigo de las consultas asíncronas: Multi-tasking http://www.net-snmp.org/wiki/index.php/Agent_Architecture#Multi-tasking Is Net-SNMP thread safe? http://www.net-snmp.org/docs/FAQ.html#Is_Net_SNMP_thread_safe_ Pero sí he encontrado una biblioteca (para Python) que parece que gestiona este tipo de peticiones, quizá haya algo similar para PHP: http://pysnmp.sourceforge.net/ Saludos, -- Camaleón