Pregunta

Suponiendo que Magento se esté ejecutando en Linux, tiene muchos sistemas de archivos para elegir. Fuera de mi cabeza, hay ext2, ext3, ext4, reiserfs 3 y 4, y xfs. Buscando en la web "comparaciones del sistema de archivos Magento" Todo lo que pude encontrar es que es posible que desee considerar TMPFS para los directorios de caché. ¿Pero qué pasa con los otros directorios?

¿Hay alguna evidencia que sugiera que un sistema de archivos sea significativamente mejor que otro, particularmente en el contexto de Magento?

¿Fue útil?

Solución

En términos del servidor web, el sistema de archivos es en gran medida irrelevante. Cuando se trata del código fuente, debe usar un caché de código de operación (el código abierto Zend ahora disponible en 5.5 es una excelente opción). Esto debería hacer que PHP no toque el sistema de archivos una vez que el caché esté caliente. Y aun así, el caché del bloque de disco en el kernel de Linux hace que la mayoría de las diferencias de rendimiento de lectura entre los sistemas de archivos se vuelvan relativamente discutibles. Algunos han recomendado usar TMPFS para la implementación pero Esto casi no te da ningún beneficio y en realidad puede ser un poco más lento.

Un lugar donde uno podría pensar que podría obtener un impulso estaría en escrituras en el sistema de archivos, como almacenamiento en caché o sesiones. Sin embargo, sostendría que si estuviera ejecutando su servidor web tan caliente que tenía un alto tiempo de espera de escritura IO en su servidor web, entonces ya no debería estar en un servidor y comenzar a mover esas cosas a Redis. Solo debe ver una desaceleración si hay muchos, miles de archivos almacenados en los directorios /var /session o /var /cache donde se requieren escrituras para escanear el índice de inodo para encontrar un bloque de disco libre. Pero la probabilidad de que alcance ese nivel en un servidor es bastante improbable.

Pero si bien el servidor web no es importante, el servidor de la base de datos puede ser inmensamente importante. Básicamente, no use Ext3. XFS es preferido por la mayoría (si no todos) los administradores MySQL, pero si está en ext4, no le diría que se mueva. El problema se remonta a cómo EXT3 asigna bloques de disco a través de un mapa de bits indirecto, mientras que Ext4/XFS usa extensiones. No sé exactamente cómo funcionan las extensiones (después de todo, soy un desarrollador web), pero entiendo que están más en la línea de un índice verdadero en lugar de un simple mapeo de bits indirectos de bloques de disco.

Entonces, servidor web: meh. DB: XFS o Ext4.

Otros consejos

Según su caso de uso (considerando que Magento hará muchas lecturas y escrituras pequeñas) recomendaría elegir Ext4 (aunque EXT3 probablemente también estará bien). XFS funciona excelente en archivos grandes, pero no se acerca al rendimiento de Ext4 en archivos más pequeños. Reiser4 podría funcionar un poco mejor en archivos pequeños, pero no he hecho ningún punto de referencia, ya que está un poco subdesarrollado, menos estable y no es parte del núcleo de Linux.

Además, si está pensando en usar TMPFS para las carpetas de caché, es posible que desee considerar pasar al almacenamiento de caché en memoria, como memcached.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top