
¿Cómo puedo lograr una baja latencia para las exportaciones de NFS para, por ejemplo, que los desarrolladores trabajen bien en Eclipse/Visual Studio con sus espacios de trabajo montados sobre NFS?
Respuesta1
Parece que todavía estás en la etapa de diseño. Si eso es cierto, algunas cosas a tener en cuenta son:
- NFSv3/4 sobre NFSv2, para permitir paquetes más grandes y funciones como "escritura asíncrona segura"
- Verifique su cliente NFS para lectura anticipada y escritura retrasada, ambas características le ayudarán
- Obviamente, mantenga baja la latencia de la red: conexiones GBit a través de un conmutador rápido
- Asegúrese de que su servidor NFS esté optimizado para la velocidad. Esa es tanto la implementación de NFS como su configuración.
Hay buenas preguntas frecuentes sobre NFS, que incluyen algunos consejos de ajuste, más allá:http://nfs.sourceforge.net/
Respuesta2
No compile sobre NFS. El rendimiento de NFS suele ser un factor del rendimiento de E/S del disco y la compilación es lo que impulsará el número de operaciones de E/S de archivos.
Si no puede evitarlo, el almacenamiento en caché es lo que le salvará el día. Llene ese servidor NFS con tanta RAM como pueda, use escrituras asincrónicas y habilite todo el almacenamiento en caché que pueda en el lado del cliente. El hecho es que un RAID no es mejor para manejar operaciones de disco (sin caché) que un solo disco duro. Y con los tamaños de archivo pequeños de una carga de trabajo de compilación, el rendimiento combinado no cambiará nada.
Respuesta3
Espere a que se almacene en caché el sistema de archivos o no realice compilaciones a través de NFS. Los discos duros siempre serán más rápidos que los sistemas de archivos de red.
Respuesta4
Coloque los archivos en un disco muy rápido o en una matriz RAID diseñada para la velocidad, ya que la E/S del disco determinará el límite inferior de su latencia, ya sea que el cliente sea local o remoto. Las otras respuestas también están bien.
Una buena solución es hacer que el servidor de archivos sea unconstruirservidor también.