Punto de presentación del conocimiento

1: Kafka ¿Por qué tan rápidas velocidades de lectura y el rendimiento de escritura 

      El uso de la lectura secuencial de Kafka

         kafka lectura secuencial de unos 600 m / s; acceso aleatorio sobre 100 kb / s

         Aleatorio y secuencial de lectura y de escritura, son los dos de entrada y salida de la memoria.

         Random Comentario: Los datos almacenados en el disco y luego ocupar el espacio para un nuevo disco, el sistema operativo a su vez, el archivo de datos escritos en el disco cuando el canto borrar algunos datos, que dejará vacante el espacio de almacenamiento ocupado por el cambio de datos original, mucho tiempo constantemente escribir datos de borrado, se generará una gran cantidad de espacio se fragmenta, se producirá un gran archivos de datos en un número de espacio de almacenamiento no contiguo, cuando esta parte de la lectura y escritura de datos, es decir, escritura aleatoria;

        posición de acceso aleatorio, ajuste constante para realizar un seguimiento de la cabeza para leer y escribir datos en diferentes posiciones con respecto a la orden de la lectura y la escritura en un espacio continuo, requiere mucho tiempo para muchos. En el momento del arranque, cuando se inicia un programa grande, ordenador para leer un gran número de archivos pequeños, pero estos archivos no se almacenan en una fila, también dentro del alcance de las lecturas aleatorias.

 

       Mejora: hacer desfragmentación de disco, consolidar archivos fragmentados, pero entonces no habrá otra generación de residuos que resulta en una disminución de lectura de disco y rendimiento de escritura, sino que además no puede resolver el problema de lecturas aleatorias de archivos pequeños, esto es sólo una solución temporal! Una mejor solución: sustituir las unidades electrónicas (SSD), unidades electrónicas elimina la melancolía del movimiento de la cabeza del disco duro mecánico, para la lectura y escritura de datos ha mejorado en gran medida.

 

      Los archivos de memoria asignada

         Incluso si la orden escrita a la velocidad de acceso al disco duro sigue siendo imposible atrapar memoria. Así, kafka de datos en tiempo real no está escrito en el disco, que aprovecha al máximo el almacenamiento de paginación del sistema operativo moderno para utilizar el contenido para mejorar la I / O de eficiencia.

         Archivos de memoria asignada convertido también en un archivos mapeados en memoria en el sistema operativo de 64 bits, en general, puede representar un archivo de datos 20G, que trabaja directamente con el sistema operativo para lograr la asignación de memoria del archivo de paginación a la casa. Después de completar la operación de asignación en la memoria física se sincroniza con el disco duro.

         Por MMAP, el proceso de lectura y escritura tan duro como memoria de lectura y escritura (memoria virtual), no se preocupan por el tamaño de la memoria, la memoria virtual como revelamos todos los detalles.

 

      Los consumidores leen los datos

         Un servidor web transmite un archivo estático, cómo optimizar el? La respuesta es copia cero. Bajo el modelo tradicional, se lee un archivo desde el disco duro de la siguiente manera: en primer lugar copiado en el espacio del núcleo (llamada al sistema read y poner DMA, así que usar el espacio del núcleo), y luego se copia en el espacio de usuario, re-copiada desde el espacio de usuario al espacio del núcleo, por último enviado a la tarjeta.

         Cero Copiar desde el espacio del núcleo (DMA) para el espacio del núcleo (zócalo), y luego se envían directamente a la tarjeta.

resumen:

         Kafka puso todos los mensajes en un solo archivo. Mejora de I / O de velocidad por mmap, la escritura de datos cuando se agrega al final lo que la velocidad óptima, al leer los datos directamente de salida con la violencia sendfile.

 

Publicado 33 artículos originales · ganado elogios 3 · Vistas 5857

Supongo que te gusta

Origin blog.csdn.net/WandaZw/article/details/85324159
Recomendado
Clasificación