欢迎来到天天文库
浏览记录
ID:51715570
大小:50.45 KB
页数:7页
时间:2020-03-15
《解析MySQL与连接数相关的几个参数.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、解析MySQL与连接数相关的几个参数MySQL的variables和status是管理维护的利器,就类似Oracle的spfile和v$表。MySQL通过系统变量记录很多配置信息,比如最大连接数max_connections:mysql>showvariableslike‘%connect%’;+————————–+—————–+
2、Variable_name
3、Value
4、+————————–+—————–+
5、character_set_connection
6、utf8
7、
8、collation_connection
9、utf8_
10、general_ci
11、
12、connect_timeout
13、10
14、
15、init_connect
16、SETNAMESutf8
17、
18、max_connect_errors
19、10
20、
21、max_connections
22、200
23、
24、max_user_connections
25、0
26、+————————–+—————–+7rowsinset(0.00sec)这个参数是指同时连接上来的客户端数量,在5.1版本里默认的值是151,那么实际支持的连接数是这个值加一,也就是152,因为要为系统管理员登录上来查看信息保留一个连接。这个参数的大小要综合很多因素来考虑
27、,比如使用的平台所支持的线程库数量(windows只能支持到2048)、服务器的配置(特别是内存大小)、每个连接占用资源(内存和负载)的多少、系统需要的响应时间等。一般Linux系统支持到几百并发是没有任何问题的。可以在global或session范围内修改这个参数:mysql>setglobalmax_connections=151;QueryOK,0rowsaffected(0.00sec)mysql>showvariableslike‘%connect%’;+————————–+—————–+
28、Variable_n
29、ame
30、Value
31、+————————–+—————–+
32、character_set_connection
33、utf8
34、
35、collation_connection
36、utf8_general_ci
37、
38、connect_timeout
39、10
40、
41、init_connect
42、SETNAMESutf8
43、
44、max_connect_errors
45、10
46、
47、max_connections
48、151
49、
50、max_user_connections
51、0
52、+————————–+—————–+7rowsinset(0.00sec)但是要注意的是,连接数的增加
53、会带来很多连锁反应,需要在实际中避免由此产生的负面影响。首先我们看一下status的输出:mysql>status————–mysqlVer14.14Distrib5.1.49,forpc-linux-gnu(i686)usingreadline5.1Connectionid:255260Currentdatabase:mysqlCurrentuser:root@localhostSSL:NotinuseCurrentpager:stdoutUsingoutfile:”Usingdelimiter:;Serververs
54、ion:5.1.49-logMySQLCommunityServer(GPL)Protocolversion:10Connection:LocalhostviaUNIXsocketServercharacterset:utf8Dbcharacterset:utf8Clientcharacterset:utf8Conn.characterset:utf8UNIXsocket:/var/lib/mysql/mysql.sockUptime:161days3hours42min38secThreads:14Questions:
55、160655492Slowqueries:71Opens:8124Flushtables:3Opentables:64Queriespersecondavg:11.538————–这里有个Opentables输出时64,这就是说当前数据库打开的表的数量是64个,要注意的是这个64并不是实际的64个表,因为MySQL是多线程的系统,几个不同的并发连接可能打开同一个表,这就需要为不同的连接session分配独立的内存空间来存储这些信息以避免冲突。因此连接数的增加会导致MySQL需要的文件描述符数目的增加。另外对于MyISAM
56、表,还会建立一个共享的索引文件描述符。那么在MySQL数据库层面,有几个系统参数决定了可同时打开的表的数量和要使用的文件描述符,那就是table_open_cache、max_tmp_tables和open_files_limit.mysql>showvariableslike‘table_open%’;+—————
此文档下载收益归作者所有