Paso 4: Performance tuning
No se preocupe, esto no tomará mucho en todo. En este punto los discos entregará 32 MB/s en los elementos de la caché-frío que es ni de cerca lo que en mi caso pueden entregar las unidades. Un hdparm ejecutar en esta etapa le dirá el disco puede despedir a 60 mb/s y 3 ejecución de ésos al mismo tiempo a cada uno de mis 3 unidades resultados en unos 18 mb/s cada uno sabemos que aquí el factor limitante es el puerto multiplicador que por el momento no quiere hacer más de 60 mb/s.
Lo primero que cambié fue la lectura por delante. No recuerdo lo que fue establecido ya en, pero tampoco fue bastante baja o simplemente apagado. Usando este pequeño script fija:
para disco en dev?; hacer hdparm - un $disk 1024; hecho
Al aumento de los buffers utilizados para la comunicación de red:
net.core.rmem_max=2801664 de sysctl
net.core.wmem_max=2097152 de sysctl
sysctl net.ipv4.tcp_rmem="4096 87380 2801664"
sysctl net.ipv4.tcp_wmem="4096 16384 2097152"
net.core.optmem_max=65535 de sysctl
net.core.netdev_max_backlog=5000 de sysctl
En este punto que era capaz de leer a 90 mb/s hacia fuera del disco duro y con Samba, empuje sobre 50 mb/s sobre la red, que era bastante decente. Sin embargo descubrí que al mismo tiempo archivos el proceso de samba consumiría todo el CPU en un núcleo. Están vinculados a la CPU sobre lo que debería ser un IO-limita la carga de trabajo no tienen sentido así que me puse a trabajar en sintonía Samba. He añadido estas 2 opciones a la sección [global]:
usar sendfile = true
estricto asignar = sí
Particularmente eso primer uno dio lugar a una mejora dramática de la lectura. La segunda es para un mejor rendimiento de la escritura. Habiendo hecho esta Samba ahora es un proceso de IO-bound como debe ser, empujando los datos a 65 + mb/s mientras que sólo el 70% de la base de un procesador de. Puesto que esta máquina no tiene nada más importante que hacer, que está bien.
Finalmente, tenemos que traer el consumo de energía por una muesca haciendo inactivas unidades para apagar algo agresivamente.
¿hdparm -S 12 - K 1 dev?
El valor del parámetro -S es la cantidad de 5 unidades de segundo que la unidad inactiva se mantenga girando antes de apagar, así 1 minuto. Western Digital tiene su propia interpretación única de este ajuste en particular donde los más agresivos se puede fijar es -S 3 que produce el coche apagado después de 10 minutos de estar inactivos, que es lo suficientemente bueno.
Eso es todo, listo!