Red de conocimientos sobre prescripción popular - Conocimiento dental - Cómo reducir la presión de trabajo de la base de datos MySQLA medida que más y más sitios web utilicen la base de datos MySQL, la presión será cada vez mayor. Entonces, ¿cómo descomprimir la base de datos MySQL? ¡Eso es optimización! Hay tres formas de optimizar un solo MySQL. Ellos son: 1. Optimización del hardware físico del servidor; segundo, compilación y optimización de la instalación de MySQL; tercero, optimización de su propio archivo de configuración my.cnf 1. Optimización del hardware físico del Servidor 1. La capacidad de búsqueda de disco (E/S de disco) es uno de los factores más importantes que restringen el rendimiento de MySQL. Se recomienda utilizar la matriz de discos RAID1+0, pero es mejor no probar RAID-5, porque la eficiencia de MySQL en la matriz de discos RAID-5 no es muy rápida. 2. La CPU también es muy importante; Para aplicaciones MySQL, se recomienda utilizar DELL R710, E5620 @2.40GHz (4 núcleos)*2 o algo con capacidades de procesamiento similares. 3. Memoria física Para un servidor de base de datos que utiliza MySQL, se recomienda que la memoria del servidor no sea inferior a 2 GB y se recomienda utilizar más de 4 GB de memoria física. En segundo lugar, se recomienda utilizar el método de compilación e instalación para optimizar la instalación de MySQL y mejorar considerablemente el rendimiento. Se recomienda utilizar Centos5.5 de 64 bits para el sistema del servidor. Los parámetros de compilación del paquete de código fuente generarán código binario en modo Debgu de forma predeterminada, y la pérdida de rendimiento causada por el modo de depuración en MySQL es relativamente grande, por lo que al compilar el código del producto que se instalará, no olvide usar "-sin -Parámetro Debug" para deshabilitar el modo de depuración. Si ambos parámetros de compilación -with-mysqld-LD flags y -with-client-LD flags están configurados en -all-static, puede indicarle al compilador que compile estáticamente y que compile el código generado para obtener el máximo rendimiento. La brecha de rendimiento que utiliza la compilación estática puede llegar a ser del 5% al ​​10% en comparación con el código compilado dinámicamente. 3. Optimización de su propio archivo de configuración my.cnf Después de resolver las limitaciones de hardware del servidor anteriores, echemos un vistazo a cómo se optimiza MySQL. La optimización de MySQL en sí implica principalmente optimizar y ajustar los parámetros en su archivo de configuración my.cnf. A continuación presentaremos algunos parámetros que tienen un mayor impacto en el rendimiento. A continuación lo explicaremos en función de la configuración de hardware anterior combinada con un my.cnf optimizado: #vim /etc/my.cnf A continuación solo se enumeran los contenidos de la sección [mysqld] en el archivo my.cnf. Las secciones no son adecuadas para MySQL. El impacto en el rendimiento de ejecución no es significativo, por lo que lo ignoramos. [mysqld]puerto=3306 serverid=1 socket=/tmp/MySQL. Bloqueo de calcetines #Evite el bloqueo externo de MySQL, reduzca la probabilidad de error y mejore la estabilidad. Skip-name-resolve# Prohibir que MySQL analice conexiones externas. El uso de esta opción puede reducir el tiempo de resolución de MySQL a DNS. Sin embargo, debe tenerse en cuenta que si esta opción está activada, todas las autorizaciones de conexión de host remoto deben usar direcciones IP; de lo contrario, MySQL no podrá procesar las solicitudes de conexión normalmente. back_log = 384#El valor del parámetro back_log indica cuántas solicitudes se pueden almacenar en la pila en un corto período de tiempo antes de que MySQL deje de responder temporalmente a nuevas solicitudes. Si el sistema tiene muchas conexiones en un corto período de tiempo, debe aumentar el valor de este parámetro, que especifica el tamaño de la cola de escucha para las conexiones TCP/IP entrantes. Los diferentes sistemas operativos tienen sus propios límites en cuanto a este tamaño de cola. Intentar establecer back_log más allá del límite del sistema operativo no tendrá ningún efecto. El valor predeterminado es 50. Los sistemas Linux recomiendan configurarlo en un número entero menor que 512. Key _ buffer _ size = 384m # Key _ buffer _ size especifica el tamaño del búfer utilizado para la indexación. Aumentarlo puede dar como resultado un mejor rendimiento del procesamiento de índice. Para servidores con aproximadamente 4 GB de memoria, este parámetro se puede configurar en 256 M o 384 M.

Cómo reducir la presión de trabajo de la base de datos MySQLA medida que más y más sitios web utilicen la base de datos MySQL, la presión será cada vez mayor. Entonces, ¿cómo descomprimir la base de datos MySQL? ¡Eso es optimización! Hay tres formas de optimizar un solo MySQL. Ellos son: 1. Optimización del hardware físico del servidor; segundo, compilación y optimización de la instalación de MySQL; tercero, optimización de su propio archivo de configuración my.cnf 1. Optimización del hardware físico del Servidor 1. La capacidad de búsqueda de disco (E/S de disco) es uno de los factores más importantes que restringen el rendimiento de MySQL. Se recomienda utilizar la matriz de discos RAID1+0, pero es mejor no probar RAID-5, porque la eficiencia de MySQL en la matriz de discos RAID-5 no es muy rápida. 2. La CPU también es muy importante; Para aplicaciones MySQL, se recomienda utilizar DELL R710, E5620 @2.40GHz (4 núcleos)*2 o algo con capacidades de procesamiento similares. 3. Memoria física Para un servidor de base de datos que utiliza MySQL, se recomienda que la memoria del servidor no sea inferior a 2 GB y se recomienda utilizar más de 4 GB de memoria física. En segundo lugar, se recomienda utilizar el método de compilación e instalación para optimizar la instalación de MySQL y mejorar considerablemente el rendimiento. Se recomienda utilizar Centos5.5 de 64 bits para el sistema del servidor. Los parámetros de compilación del paquete de código fuente generarán código binario en modo Debgu de forma predeterminada, y la pérdida de rendimiento causada por el modo de depuración en MySQL es relativamente grande, por lo que al compilar el código del producto que se instalará, no olvide usar "-sin -Parámetro Debug" para deshabilitar el modo de depuración. Si ambos parámetros de compilación -with-mysqld-LD flags y -with-client-LD flags están configurados en -all-static, puede indicarle al compilador que compile estáticamente y que compile el código generado para obtener el máximo rendimiento. La brecha de rendimiento que utiliza la compilación estática puede llegar a ser del 5% al ​​10% en comparación con el código compilado dinámicamente. 3. Optimización de su propio archivo de configuración my.cnf Después de resolver las limitaciones de hardware del servidor anteriores, echemos un vistazo a cómo se optimiza MySQL. La optimización de MySQL en sí implica principalmente optimizar y ajustar los parámetros en su archivo de configuración my.cnf. A continuación presentaremos algunos parámetros que tienen un mayor impacto en el rendimiento. A continuación lo explicaremos en función de la configuración de hardware anterior combinada con un my.cnf optimizado: #vim /etc/my.cnf A continuación solo se enumeran los contenidos de la sección [mysqld] en el archivo my.cnf. Las secciones no son adecuadas para MySQL. El impacto en el rendimiento de ejecución no es significativo, por lo que lo ignoramos. [mysqld]puerto=3306 serverid=1 socket=/tmp/MySQL. Bloqueo de calcetines #Evite el bloqueo externo de MySQL, reduzca la probabilidad de error y mejore la estabilidad. Skip-name-resolve# Prohibir que MySQL analice conexiones externas. El uso de esta opción puede reducir el tiempo de resolución de MySQL a DNS. Sin embargo, debe tenerse en cuenta que si esta opción está activada, todas las autorizaciones de conexión de host remoto deben usar direcciones IP; de lo contrario, MySQL no podrá procesar las solicitudes de conexión normalmente. back_log = 384#El valor del parámetro back_log indica cuántas solicitudes se pueden almacenar en la pila en un corto período de tiempo antes de que MySQL deje de responder temporalmente a nuevas solicitudes. Si el sistema tiene muchas conexiones en un corto período de tiempo, debe aumentar el valor de este parámetro, que especifica el tamaño de la cola de escucha para las conexiones TCP/IP entrantes. Los diferentes sistemas operativos tienen sus propios límites en cuanto a este tamaño de cola. Intentar establecer back_log más allá del límite del sistema operativo no tendrá ningún efecto. El valor predeterminado es 50. Los sistemas Linux recomiendan configurarlo en un número entero menor que 512. Key _ buffer _ size = 384m # Key _ buffer _ size especifica el tamaño del búfer utilizado para la indexación. Aumentarlo puede dar como resultado un mejor rendimiento del procesamiento de índice. Para servidores con aproximadamente 4 GB de memoria, este parámetro se puede configurar en 256 M o 384 M.

Nota: ¡Establecer este valor de parámetro demasiado alto reducirá la eficiencia general del servidor! max _ permitido _ paquete = 4 m hilo _ pila = 256 k tabla _ caché = 614 k clasificación _ búfer _ tamaño = 6 m #El tamaño del búfer que se puede usar para ordenar consultas. Nota: La memoria asignada correspondiente a este parámetro es privada por conexión. Si hay 100 conexiones, el tamaño total real del búfer de clasificación asignado es 100 × 6 = 600 MB. Por lo tanto, para un servidor con aproximadamente 4 GB de memoria, se recomienda configurarla entre 6 y 8 M. Read_buffer_size = 4M#El tamaño del búfer disponible para operaciones de consulta de lectura. Al igual que sort_buffer_size, la memoria asignada correspondiente a este parámetro también es exclusiva de cada conexión. join_buffer_size = 8M# El tamaño del búfer que se puede utilizar para operaciones de consulta conjuntas. Al igual que sort_buffer_size, la memoria asignada correspondiente a este parámetro también es exclusiva para cada conexión. myisam _ sort _ buffer _ size = 64m table _ cache = 512 thread _ cache _ size = 64 query _ cache _ size = 64m #Especifique el tamaño del búfer de consulta MySQL. Puede observar desde la consola MySQL que si el valor de Qcache_lowmem_prunes es muy grande, indica que el búfer a menudo es insuficiente; si el valor de Qcache_hits es muy grande, indica que el búfer de consulta se usa con mucha frecuencia; Si el valor es muy pequeño, la eficiencia se verá afectada y es posible que considere no utilizar el búfer de consultas. Qcache_free_blocks, si este valor es grande, significa que el búfer tiene muchos fragmentos. tmp_table_size = 256 max_connections = 768 #Especifique el número máximo de procesos de conexión permitidos por MySQL. Si a menudo se mencionan incorrectamente demasiadas conexiones al visitar el foro, debe aumentar el valor de este parámetro. max_connect_errors = 1000 wait_time out = 10 #Especifique el tiempo máximo de conexión solicitado para un servidor con aproximadamente 4 GB de memoria, se puede configurar en 5-10. Thread_concurrency = 8#El valor de este parámetro es el número de CPU lógicas del servidor*2. En este caso, el servidor tiene dos CPU físicas, y cada CPU física admite H.T Hyper-threading, por lo que el valor real es 4 * 2 = 8, esta también es la configuración actual del servidor de doble núcleo. Skip-networking# Activar esta opción puede desactivar completamente el modo de conexión TCP/IP de MySQL. Si el servidor WEB accede al servidor de base de datos MySQL a través de una conexión remota, ¡no habilite esta opción! De lo contrario, ¡la conexión normal no será posible! Table_cache=1024#Cuanto mayor sea la memoria física, mayor será la configuración. El valor predeterminado es 2402. Ajustado a 512-1024, el mejor innodb _ adicional _ mem _ pool _ size = 4 m # El valor predeterminado es 2 m innodb _ flush _ log _ at _ Trx _ commit = 1 #. Establecerlo en 0 significa esperar hasta que las filas de innodb_log_buffer_size estén llenas antes de almacenarlas de manera uniforme. El valor predeterminado es 1 innodb_log_buffer_size = 2m#. El valor predeterminado es 1 innodb_thread_concurrency = 8 #. Puede configurarlo para que tenga tantas CPU como haya en el servidor. Se recomienda utilizar el valor predeterminado 8key_buffer_size=256M#. El valor predeterminado es 218. Ajuste a 128, el mejor tmp_table_size=64M#El valor predeterminado es 16M.