MySQL数据库服务器配置
CPU的优化
内存的优化
IO的优化
连接的优化
数据一致性的优化
1.描述back_log参数的作用?
back_log = 500 要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,
这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。
不需要配置 =50 + (max_connections / 5),===50+ 3000/5=650
Default Value -1 (autosized)
back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,
你需要增 加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。
你的操作系统在这个队列大小上有它自己的限制。试图设定 back_log高于你的操作系统的限制将是无效的。
当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login |
NULL 的待连接进程时,就要加大 back_log 的值了。默认数值是50,我把它改为500。
作用:MySQL每处理一个连接请求的时候都会对应的创建一个新线程与之对应,那么在主线程创建新线程期间,如果前端应用有
大量的短连接请求到达数据库,MySQL 会限制此刻新的连接进入请求队列,由参数back_log控制,如果等待的连接数量超过back_log,
则将不会接受新的连接请求,所以如果需要MySQL能够处理大量的短连接,需要提高此参数的大小。 现象:如果参数过小可能会导致应用报错
2.描述thread_cache_size参数的作用?
thread_cache_size = 64 缓存可重用线程数,减小创建新线程的开销)
可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,
当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性 能可以这个变量值。通过比较 Connections 和 Th