MySQL性能优化之参数配置
通过根据服务器目前状况,修改MySQL的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能。
1、目的:
通过根据服务器目前状况,修改MySQL的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能。
2、服务器参数:
32G内存、4个CPU,每个CPU 8核。
3、MySQL目前安装状况。
MySQL目前安装,用的是MySQL默认的最大支持配置。拷贝的是my-huge.cnf.编码已修改为UTF-8.具体修改及安装MySQL,可以参考>帮助文档 。
4、修改MySQL配置
打开MySQL配置文件my.cnf
vi /etc/my.cnf
4.1 MySQL非缓存参数变量介绍及修改
4.1.1修改back_log参数值:由默认的50修改为500.(每个连接256kb,占用:125M)
back_log=500
back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。也就是说,如果MySql的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。将会报:unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待连接进程时.
back_log值不能超过TCP/IP连接的侦听队列的大小。若超过则无效,查看当前系统的TCP/IP连接的侦听队列的大小命令:cat /proc/sys/net/ipv4/tcp_max_syn_backlog目前系统为1024。对于Linux系统推荐设置为小于512的整数。修改系统内核参数,)
查看mysql 当前系统默认back_log值,命令:
show variables like 'back_log'; 查看当前数量
4.1.2修改wait_timeout参数值,由默认的8小时,修改为30分钟。(本次不用)
wait_timeout=1800(单位为妙)
我对wait-timeout这个参数的理解:MySQL客户端的数据库连接闲置最大时间值。
说得比较通俗一点,,就是当你的MySQL连接闲置超过一定时间后将会被强行关闭。MySQL默认的wait-timeout 值为8个小时,可以通过命令show variables like 'wait_timeout'查看结果值;。
设置这个值是非常有意义的,比如你的网站有大量的MySQL链接请求(每个MySQL连接都是要内存资源开销的 ),由于你的程序的原因有大量的连接请求空闲啥事也不干,白白占用内存资源,或者导致MySQL超过最大连接数从来无法新建连接导致“Too many connections”的错误。在设置之前你可以查看一下你的MYSQL的状态(可用show processlist),如果经常发现MYSQL中有大量的Sleep进程,则需要 修改wait-timeout值了。
interactive_timeout:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。
wait_timeout:服务器关闭非交互连接之前等待活动的秒数。在线程启动时,根据全局wait_timeout值或全局 interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义).
这两个参数必须配合使用。否则单独设置wait_timeout无效
4.1.3修改max_connections参数值,由默认的151,修改为3000(750M)。
max_connections=3000
max_connections是指MySql的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySql会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。可以过'conn%'通配符查看当前状态的连接数量,以定夺该值的大小。
MySQL服务器允许的最大连接数16384;
查看系统当前最大连接数:
show variables like 'max_connections';
4.1..4修改max_user_connections值,由默认的0,修改为800
max_user_connections=800
max_user_connections是指每个数据库用户的最大连接
针对某一个账号的所有客户端并行连接到MYSQL服务的最大并行连接数。简单说是指同一个账号能够同时连接到mysql服务的最大连接数。设置为0表示不限制。
目前默认值为:0不受限制。
这儿顺便介绍下Max_used_connections:它是指从这次mysql服务启动到现在,同一时刻并行连接数的最大值。它不是指当前的连接情况,而是一个比较值。如果在过去某一个时刻,MYSQL服务同时有1000个请求连接过来,而之后再也没有出现这么大的并发请求时,则Max_used_connections=1000.请注意与show variables 里的max_user_connections的区别。默认为0表示无限大。
查看max_user_connections值
show variables like 'max_user_connections';
--------------------------------------分割线 --------------------------------------
Ubuntu 14.04下安装MySQL
《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF
Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL
Ubuntu 14.04下搭建MySQL主从服务器
Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群
Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb
MySQL-5.5.38通用二进制安装
--------------------------------------分割线 --------------------------------------
更多详情见请继续阅读下一页的精彩内容:

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Comment optimiser la vitesse de connexion MySQL ? Présentation : MySQL est un système de gestion de bases de données relationnelles largement utilisé pour le stockage et la gestion de données dans diverses applications. Pendant le développement, l'optimisation de la vitesse de connexion MySQL est essentielle pour améliorer les performances des applications. Cet article présentera quelques méthodes et techniques courantes pour optimiser la vitesse de connexion MySQL. Table des matières : utilisez les pools de connexions pour ajuster les paramètres de connexion et optimiser les paramètres réseau. Utilisez les index et les caches pour éviter les connexions inactives prolongées. Texte de résumé : Utilisez les pools de connexions.

À l’ère actuelle d’Internet, l’importance des données est évidente. En tant qu'un des composants essentiels des applications Internet, le travail de sauvegarde et de restauration des bases de données est particulièrement important. Cependant, à mesure que la quantité de données continue d'augmenter et que les exigences des entreprises deviennent de plus en plus complexes, les solutions traditionnelles de sauvegarde et de restauration de bases de données ne peuvent plus répondre aux exigences de haute disponibilité et de hautes performances des applications modernes. Par conséquent, l’optimisation des performances de sauvegarde et de récupération de la base de données MySQL est devenue un problème urgent qui doit être résolu. Dans la pratique, nous avons adopté une série d'expériences de projets pour améliorer efficacement les données MySQL

Guide pratique d'optimisation des performances MySQL : Compréhension approfondie des index arborescents B+ Introduction : En tant que système de gestion de bases de données relationnelles open source, MySQL est largement utilisé dans divers domaines. Cependant, à mesure que la quantité de données continue d'augmenter et que les exigences en matière de requêtes deviennent plus complexes, les problèmes de performances de MySQL deviennent de plus en plus importants. Parmi eux, la conception et l'utilisation des index sont l'un des facteurs clés affectant les performances de MySQL. Cet article présentera le principe de l'index arborescent B+ et montrera comment optimiser les performances de MySQL avec des exemples de code réels. 1. Principe de l'index de l'arbre B+ L'arbre B+ est un

Avec le développement rapide d'Internet, la base de données MySQL est devenue la technologie de stockage de données de base pour de nombreux sites Web, applications et même entreprises. Cependant, avec la croissance continue du volume de données et la forte augmentation des accès simultanés, les problèmes de performances de MySQL sont devenus de plus en plus importants. La classe PDO de PHP est également largement utilisée dans le développement et le fonctionnement de MySQL en raison de ses performances efficaces et stables. Dans cet article, nous présenterons comment utiliser la classe PDO pour optimiser les performances de MySQL et améliorer la vitesse de réponse de la base de données et les capacités d'accès simultané. 1. Introduction au cours PDO

Dans les applications modernes, la base de données MySQL est un choix courant. Cependant, à mesure que les volumes de données augmentent et que les besoins de l'entreprise continuent d'évoluer, les performances de MySQL peuvent en souffrir. Afin de maintenir les hautes performances de la base de données MySQL, les instructions SQL dynamiques sont devenues un moyen technique important pour améliorer les performances de MySQL. Qu'est-ce qu'une instruction SQL dynamique ? Une instruction SQL dynamique fait référence à la technologie de génération d'instructions SQL par un programme dans une application. En termes simples, cela signifie traiter les instructions SQL comme des chaînes. Pour les grandes applications,

Optimisation des performances MySQL : Maîtriser les caractéristiques et les avantages du moteur TokuDB Introduction : Dans les applications de traitement de données à grande échelle, l'optimisation des performances de la base de données MySQL est une tâche cruciale. MySQL propose une variété de moteurs, chacun avec des fonctionnalités et des avantages différents. Cet article présentera les fonctionnalités et les avantages du moteur TokuDB et fournira quelques exemples de code pour aider les lecteurs à mieux comprendre et appliquer le moteur TokuDB. 1. Caractéristiques du moteur TokuDB TokuDB est un moteur de stockage hautes performances et à haut taux de compression.

Avec le développement rapide d'Internet, l'ampleur des données continue de croître et la demande en matière de stockage de bases de données et d'efficacité des requêtes augmente également. En tant que base de données open source la plus couramment utilisée, l'optimisation des performances de MySQL a toujours été au centre des préoccupations des développeurs. Cet article présentera une technologie efficace d'optimisation des performances MySQL - une table de partition verticale, et expliquera en détail comment la mettre en œuvre et l'appliquer. 1. Qu'est-ce qu'une table de partition verticale ? Les tables partitionnées verticalement font référence à la division d'une table en fonction des caractéristiques des colonnes et au stockage de différentes colonnes sur différents périphériques de stockage physiques pour améliorer l'efficacité des requêtes.

En tant que système léger de gestion de bases de données relationnelles, la base de données MySQL est largement utilisée dans les applications Internet et les systèmes d'entreprise. Dans les applications d'entreprise, à mesure que la quantité de données augmente, la taille des tables de données continue également d'augmenter. Par conséquent, une gestion efficace de la taille des tables de données est cruciale pour garantir les performances et la fiabilité de la base de données. Cet article présentera les techniques de gestion de la taille des tables de données dans MySQL. 1. Division de la table de données À mesure que la quantité de données continue d'augmenter, la taille de la table de données continue également d'augmenter, ce qui entraînera une diminution des performances de la base de données et un ralentissement des opérations de requête.
