Rendimiento de AFP frente a NFS frente a SMB en macOS Mojave
Si es un usuario de Mac, es posible que se pregunte qué protocolo de intercambio de archivos ofrece el mejor rendimiento al usar un dispositivo de almacenamiento conectado a la red (NAS) como Synology o un dispositivo NAS/Thunderbolt over Ethernet como QNAP. Dado que macOS permite elegir entre los protocolos AFP, NFS, SMB y CIFS, a veces es difícil tomar la decisión adecuada, especialmente si se tiene en cuenta que algunos de estos protocolos tienen versiones diferentes que pueden funcionar de manera diferente. Agregue a esto el hecho de que macOS en sí mismo puede comportarse de manera diferente según la versión que esté ejecutando, y puede agravarse rápidamente para muchos fotógrafos que simplemente están tratando de aprovechar al máximo su equipo.
Actualmente estoy en el proceso de revisar otro dispositivo QNAP y, mientras lo hacía, decidí probar todos estos protocolos en la última versión de macOS Mojave 10.14.3 en mi iMac Pro que tiene una conexión integrada de 10 GbE. El dispositivo QNAP de 4 bahías ofrece opciones de conectividad Thunderbolt sobre Ethernet y 10 GbE, así que probé ambas, aunque resultó que Thunderbolt ofrecía un mejor rendimiento general, por lo que decidí quedarme con él en lugar de 10 GbE. Para asegurarme de que el dispositivo QNAP de 4 bahías funcione a su máximo potencial, utilicé discos WD Red 4x de 7200 RPM rápidos configurados en configuración RAID 0. El analizador del sistema de archivos dentro de la herramienta de diagnóstico de QNAP mostró que el potencial del volumen era de aproximadamente 680 MB/s de velocidad de lectura y 570 MB/s de velocidad de escritura. lo cual es bastante decente para cuatro unidades en configuración RAID 0 (cada unidad puede potencialmente hacer hasta 180-190 MB/seg, según HDD Analyzer). No se cambió nada en el iMac Pro desde el punto de vista de la configuración, con los archivos predeterminados /etc/nfs.conf, /etc/nsmb.conf y /etc/sysctl.conf (si está ejecutando una versión anterior de macOS, debe editar el /etc/nsmb.conf y asegúrese de agregar "signing_required=no" al archivo o sus velocidades de transferencia con el protocolo SMB sufrirán mucho).
Para asegurarme de que mis datos sean un poco más precisos y no solo estén localizados en un solo sistema NAS, también realicé una prueba similar en un Synology DS1817+ NAS de 8 bahías con conectividad de 10 Gbit que revisé el año pasado. Las unidades de Synology están en configuración RAID 6, utilizando unidades de 6 TB HGST 7200 RPM. Dado que Synology DS1817+ no tiene una conexión Thunderbolt, todas las pruebas se realizaron en una red de 10 Gbit. Para asegurarme de que puedo obtener la máxima velocidad de red potencial, el iMac Pro, el Synology DS1817+, así como el conmutador de red de 10 GbE, se configuraron para marcos Jumbo de 9000 MTU. Hagamos una descripción general rápida de cada protocolo de intercambio de archivos y luego llegaremos a las comparaciones y conclusiones.
¿Qué es AFP?
AFP, que significa Protocolo de archivo de Apple , es un protocolo de red patentado que se desarrolló como parte del sistema operativo Mac. Originalmente se conocía como AppleTalk, pero luego se cambió y se renombró como AFP. Debido a que es nativo de macOS, es el más compatible y el más rico en funciones entre todos los protocolos de red admitidos. Tiene soporte incorporado para la búsqueda "Spotlight", Time Machine, Mac Aliases y Bonjour Services, con los que otros protocolos no son compatibles.
¿Qué es NFS?
Network File System (NFS) es un protocolo de sistema de archivos distribuido que se desarrolló para su uso en entornos de sistema operativo Unix/Linux. Se basa en un estándar abierto y ha pasado por una serie de revisiones y contribuciones de la comunidad Unix/Linux a lo largo de los años, desde la versión 2 (NFS v2) hasta la última versión 4.2 de NFS que se publicó en 2016. La mayoría Las implementaciones modernas de NFS se basan en las versiones 3 y 4 del protocolo, y algunos sistemas brindan soporte para 4.1 y ahora 4.2. macOS es compatible de forma nativa con NFS v3 y NFS v4, aunque la compatibilidad con la versión 4 debe habilitarse manualmente a través del archivo /etc/nfs.conf, ya que el sistema operativo se conecta a la versión 3 de forma predeterminada.
¿Qué es SMB/CIFS?
El Bloque de mensajes del servidor (SMB) es un protocolo de intercambio de archivos de red desarrollado por Microsoft, mientras que el Sistema de archivos de Internet común (CIFS) es una de sus versiones. Al igual que AFP, SMB/CIFS se desarrollaron como protocolos nativos para el sistema operativo principal Microsoft Windows. SMB también ofrece algunas funciones específicas, como impresión en red, autenticación de carpetas compartidas, bloqueo de archivos, etc. macOS tiene compatibilidad integrada con SMB 1/CIFS, SMB 2 y SMB 3.
En resumen, piense en los tres como protocolos de Apple, Unix y Windows. Cada uno tiene su lista de pros y contras, pero para los usuarios de Mac, AFP suele ser el camino a seguir.
Comparación de rendimiento de AFP vs NFS vs SMB/CIFS
Ahora que comprende las principales diferencias entre estos protocolos, echemos un vistazo a cómo se comparan todos cuando se trata de una gran cantidad de tráfico de red y Thunderbolt. Eche un vistazo a la siguiente tabla que resume los resultados de rendimiento que obtuve del QNAP NAS/DAS de 4 bahías:
Protocolo | Versión | Velocidad de lectura secuencial | Velocidad de escritura secuencial |
---|---|---|---|
AFP | N / A | 649 MB/s | 306 MB/s |
NFS | v3 / v4 | 551 MB/s | 121 MB/s |
PYME | v1 | 161 MB/s | 169 MB/s |
PYME | v3 | 652 MB/s | 624 MB/s |
Realicé un total de 5 pruebas para cada protocolo y versión y elegí el mejor resultado.
Como puede ver, el peor desempeño aquí es NFS. Si bien hizo un trabajo decente con velocidades de lectura, con un promedio de alrededor de 551 MB/s en 3 pruebas usando un archivo de 4 GB (con la herramienta de referencia AJA System Test Lite ), su velocidad de escritura fue bastante terrible a 121 MB/s. A pesar de que AFP es un protocolo nativo de macOS, también fue decepcionante en términos de rendimiento de escritura en QNAP, aunque las velocidades de lectura fueron excelentes. El mejor rendimiento aquí es SMB v3: pude obtener velocidades de lectura de 652 MB/seg y de escritura de 624 MB/seg usando este protocolo, lo cual fue bastante impresionante. SMB v1 / CIFS es bastante terrible en general, mostrando velocidades de lectura y escritura muy bajas, por lo que debe evitarse a toda costa.
Aquí está la captura de pantalla de AJA System Test Lite para el resultado SMB v3 anterior:
Y aquí está la captura de pantalla del resultado de AFP:
Después de ejecutar estas pruebas, me di cuenta de que quizás la implementación de QNAP de AFP era simplemente deficiente, por lo que decidí repetir las mismas pruebas en un Synology NAS. A continuación se muestra el resumen de los resultados de ejecutar la misma prueba en Synology DS1817+:
Protocolo | Versión | Velocidad de lectura secuencial | Velocidad de escritura secuencial |
---|---|---|---|
AFP | N / A | 1105 MB/s | 506 MB/s |
NFS | v3 / v4 | 590 MB/s | 156 MB/s |
PYME | v1 | 75 MB/s | 173 MB/s |
PYME | v3 | 1108 MB/s | 547 MB/s |
El Synology DS1817+ pudo obtener velocidades de lectura más rápidas debido a que tenía más unidades físicas y, como puede ver en la tabla anterior, pude obtener velocidades superiores a 1,1 GB/s con los protocolos AFP y SMB v3. Sin embargo, la situación es un poco diferente cuando se trata de velocidades de escritura. Al igual que en la primera tabla, el mejor desempeño fue nuevamente SMB v3, demostrando un excelente rendimiento de lectura y escritura. AFP se desempeñó mejor en Synology NAS en comparación con QNAP, pero aun así se retrasó entre 50 y 75 MB/seg. Volví a ejecutar las pruebas varias veces con operaciones secuenciales de lectura/escritura de 4 GB y 8 GB y los resultados fueron bastante consistentes, colocando a SMB v3 por encima de AFP en general. SMB v1 debe evitarse como una plaga en Synology: no pude obtener velocidades de lectura de más de 75 MB/seg.
Conclusión
Según lo que veo de dos proveedores de NAS diferentes, parece que SMB v3 es el mejor protocolo de red que se puede usar en términos de rendimiento general en macOS, siendo AFP el segundo mejor. Deben evitarse tanto SMB v1 como NFS: demostraron un rendimiento de escritura bastante decepcionante. Si las características específicas de macOS que proporciona AFP son importantes para usted, entonces debe probar tanto SMB v3 como AFP en su dispositivo NAS y ver cómo funciona cada uno por sí solo. Para Synology, parece que las diferencias de rendimiento no son muy notables, pero para cualquiera que use un dispositivo QNAP, AFP roba casi la mitad de la velocidad de escritura, lo cual es demasiado...
Sé que este artículo probablemente sea un poco demasiado técnico para nuestros lectores, pero aun así quería compartirlo, ya que creo que uno debe usar la mejor herramienta para el trabajo. Si usa un NAS en su entorno, sería genial si pudiera compartir sus resultados usando herramientas similares en la sección de comentarios a continuación.