que alcanzaron 80 MB/s de rendimiento "de lectura aleatoria" por disco "real" (husillo). Aquí están mis resultados.
Por lo tanto, primero decida cuánto tráfico necesita presionar a los usuarios y cuánto espacio de almacenamiento necesita por servidor.
Puede omitir las instrucciones de configuración de disco que figuran a continuación, dado que ya tiene una configuración RAID5.
Tomemos como ejemplo un servidor dedicado de ancho de banda de 1 Gbps con discos de 3 * 2TB. Mantener primer disco dedicado al sistema operativo y tmp. Para otros 2 discos, puede crear una incursión de software (para mí, funcionó mejor que la incursión de hardware a bordo). De lo contrario, debe dividir sus archivos por igual en discos independientes. Idea es mantener tanto la carga de lectura/escritura en disco igual proporción. Software raid-0 es la mejor opción.
Nginx Conf Hay dos maneras de lograr alto nivel de rendimiento utilizando nginx.
uso directio
AIO en;
directio 512; output_buffers 1 8m;
"Esta opción requerirá una buena cantidad de ram" Se necesitan alrededor de 12-16 GB de ram.
userland io
output_buffers 1 2m;
"asegúrese de que ha establecido readahead a 4-6MB para montar la incursión del software" blockdev --setra 4096/dev/md0 (o montaje de discos independientes)
Este ajuste utilizará de manera óptima caché de archivos del sistema, y requiere mucho menos ram. Se necesitan alrededor de 8 GB de ram.
Notas comunes:
- a mantener "SENDFILE fuera";
también es posible que el uso del acelerador de ancho de banda para permitir conexiones a través de 100s de ancho de banda disponible. Cada conexión de descarga usará 4 MB de memoria RAM activa.
limit_rate_after 2m;
limit_rate 100k;
Ambos solución anterior se escala fácilmente a 1k + usuarios simultáneos en el servidor 3 de disco. Suponiendo que tiene un ancho de banda de 1Gbps y que cada conexión se estrangula a 1Mb/ps Hay una configuración adicional necesaria para optimizar las escrituras en el disco sin afectar demasiado la lectura.
hacer todas las cargas en el disco del sistema operativo principal en un montaje say/tmpuploads. esto asegurará que no haya perturbaciones intermitentes mientras se realizan lecturas intensas. A continuación, mueva el archivo desde/tmpuploads usando el comando "dd" con oflag = direct. algo así como
dd if=/tmpuploads/<myfile> of=/raidmount/uploads/<myfile> oflag=direct bs=8196k
Así que hay una verdadera :(¿Alguna vez ha intentado suprimir archivos de gran tamaño en ext2-3 vs vs XFS JFS? Además, un vistazo al kernel-source habrían revelado, que los conductores pasan diferentes fs diferente tiempo en secciones críticas, también tienden a comportarse radicalmente diferentes bajo alta presión de IO. –
Eliminar un archivo grande no era el caso de uso. Si tiene números, muéstreselos. Estoy de acuerdo con lo que escribí. –
números? "Hay mentiras, malditas mentiras y luego puntos de referencia" Aún no he visto un punto de referencia sin ningún objetivo de marketing. Estaba hablando de mi experiencia y de la fuente de Linux disponible públicamente. Sin embargo, es ridículo el argumento de que "dudo que veas diferencias mensurables". –