Tengo el presentimiento de que un cierto error intermitente solo puede manifestarse cuando hay una velocidad de lectura de disco lenta. La resolución de problemas es difícil porque no puedo reproducirlo de manera confiable.
Además de engullir IO con un proceso de alta prioridad, ¿hay alguna forma de simular que tengo un disco duro lento?
man hdparm
echa un vistazo a la opción -X tal vez? Hay bastantes cosas allí que podría usar para reducir la velocidad de su unidad, ¡pero algunas corren el riesgo de dañar las cosas!Respuestas:
Use nbd , el dispositivo de bloqueo de red, y luego limite el acceso al límite usando say
trickle
.fuente
Eso te retrasará :)
Te obligará a leer desde el disco, en lugar de aprovechar la página en caché.
Si realmente quisiera ser sofisticado, podría hacer algo como falsificar un error de lectura cada enésima vez utilizando el marco de inyección de fallas scsi.
http://scsifaultinjtst.sourceforge.net/
fuente
¿Tiene un concentrador USB 1.1? O una tarjeta SD lenta? Te llevarán a menos de 10mbps.
fuente
De ninguna manera es una solución completa, pero puede ayudar junto con otras medidas: hay un planificador de E / S muy similar a un planificador de procesos, y puede ajustarse.
En particular, puede elegir entre diferentes planificadores:
deadline
puede ayudarlo a obtener resultados más reproducibles.noop
, como su nombre lo indica, es increíblemente tonto y le permitirá causar estragos en el rendimiento de E / S con poco esfuerzo.anticipatory
ycfq
ambos intentan ser inteligentes al respecto, aunquecfq
generalmente es el más inteligente de los dos. (Como recuerdo, enanticipatory
realidad es el planificador heredado justo antes de que el núcleo comenzara a admitir múltiples planificadores).fuente
Puede usar una máquina virtual y acceder al disco del acelerador ... aquí hay algunos consejos sobre cómo hacerlo en Virtualbox 5.8. Limitar el ancho de banda para imágenes de disco https://www.virtualbox.org/manual/ch05.html#storage-bandwidth-limit
fuente
Puede intentar ejecutar una copia de un archivo grande, como un iso del CD de instalación de Ubuntu, y ejecutarlo dos veces. Eso debería ralentizar tu disco un poco.
fuente
Además de intentar ralentizar el disco duro en sí, podría intentar usar herramientas de evaluación comparativa del sistema de archivos como bonnie ++, que pueden causar una gran cantidad de E / S de disco.
fuente
¿qué tal
make -j64
? en artículos que describían que el nuevo parche de rendimiento de 200 líneasmake -j64
era una tarea que consumía muchos recursos informáticosfuente
¿Por qué no ejecutar
iotop
y ver si el proceso que está intentando depurar está causando muchas lecturas / escrituras de disco?fuente
Recientemente he descubierto una configuración donde he
google-drive-ocamlfuse
Si la latencia de 16 segundos no es lo suficientemente lenta, simplemente puede desconectar su enrutador.
Como referencia, aquí está el caso de uso original, donde se me ocurrió la idea: https://github.com/goavki/apertium-apy/pull/76#issuecomment-355007128
fuente