Así que he estado tratando de ejecutar un script que realiza una variedad de operaciones en archivos de video de tamaño mediano en una unidad de red asignada en Windows 10.
La unidad de red es una carpeta compartida en un ReadyNAS 104. El script se está ejecutando en mi máquina local. Las operaciones que realiza generalmente son el cambio de nombre de archivo, la conversión de formato a través de ffmpeg y la lectura / escritura de encabezado / pie de página.
El problema que he tenido es que el script por lotes apenas usa un 5% de CPU y una red de ~ 150kBps (edición: miró de nuevo y parece que está más cerca de 120kB / s hacia arriba y hacia abajo en todo momento). Hay muchos archivos para ejecutar, por lo que significa que está tardando mucho tiempo. Mi estimación es de unas pocas semanas para terminarlo todo. Esto es frustrante dado que los dos dispositivos están en una LAN juntos y la computadora tiene 8 núcleos en los que puede trabajar.
Intenté cambiar la prioridad de los procesos involucrados (parece no tener efecto entre Normal y Alto). También he intentado ejecutar algo así como 30 instancias del script en subcarpetas y la utilización solo aumenta un poco cuando se ejecutan varias instancias de ffmpeg cuando un archivo necesita conversión (todavía nunca supera el 30% de utilización).
Había escuchado que podría haber un problema con la autenticación de SMB que ralentizaba las cosas y, según la sugerencia de este hilo, probé una modificación del registro para solucionarlo (sin efecto).
Puedo entender que la unidad de red asignada sea un cuello de botella para este proceso (y de hecho, veo una tasa de transferencia constante, baja y de 150 kbps en una conexión desde el proceso del sistema a la dirección de red NAS), pero no esperaba tal mala utilización de la red cuando he podido transferir archivos individuales a través de la misma unidad a más de 16 mBps o más.
¿Alguna sugerencia sobre cosas que puedo intentar para acelerar el proceso? El script no es mío, y se ha estado ejecutando durante aproximadamente 5 días, así que dudo en hacer cualquier cosa que requiera que lo reinicie a menos que sea una buena ventaja, pero estoy abierto a cualquier sugerencia en general, ya que puedo ejecutar Este proceso nuevamente en el futuro.
¡Gracias!
Edición 2: revisé esta noche después de que se ejecutó aproximadamente medio día con alta prioridad. Ahora, de repente, está usando una CPU bastante razonable de 2.5 mBps y 35%. Todavía bajo pero no tan increíblemente bajo. ¡Realmente no estoy seguro de qué hacer con este comportamiento! Podría ser más rápido copiar archivos del NAS y luego volverlos a encender en lugar de usar unidades de red mapeadas (aunque me encantaría saber por qué).