MySQL服务器的最大并发连接数是16384。
受服务器配置,及网络环境等制约,实际服务器支持的并发连接数会小一些。主要决定因素有:
1、服务器CPU及内存的配置。
2、网络的带宽。互联网连接中上行带宽的影响尤为明显。
扩展资料:
优化数据库结构:
组织数据库的schema、表和字段以降低I/O的开销,将相关项保存在一起,并提前规划,以便随着数据量的增长,性能可以保持较高的水平。
设计数据表应尽量使其占用的空间最小化,表的主键应尽可能短。·对于InnoDB表,主键所在的列在每个辅助索引条目中都是可复制的,因此如果有很多辅助索引,那么一个短的主键可以节省大量空间。
仅创建需要改进查询性能的索引。索引有助于检索,但是会增加插入和更新 *** 作的执行时间。
InnoDB的ChangeBuffering特性:
InnoDB提供了changebuffering的配置,可减少维护辅助索引所需的磁盘I/O。大规模的数据库可能会遇到大量的表 *** 作和大量的I/O,以保证辅助索引保持最新。当相关页面不在缓冲池里面时,InnoDB的changebuffer将会更改缓存到辅助索引条目。
从而避免因不能立即从磁盘读取页面而导致耗时的I/O *** 作。当页面被加载到缓冲池时,缓冲的更改将被合并,更新的页面之后会刷新到磁盘。这样做可提高性能,适用于MySQL5.5及更高版本。
参考资料来源:百度百科-MySQL数据库
(1)QPS(每秒Query量)
QPS = Questions(or Queries) / seconds
mysql >show global status like 'Question%'
(2)TPS(每秒事务量)
TPS = (Com_commit + Com_rollback) / seconds
mysql >show global status like 'Com_commit'
mysql >show global status like 'Com_rollback'
(3)key Buffer 命中率
mysql>show global status like 'key%'
key_buffer_read_hits = (1-key_reads / key_read_requests) * 100%
key_buffer_write_hits = (1-key_writes / key_write_requests) * 100%
(4)InnoDB Buffer命中率
mysql>show status like 'innodb_buffer_pool_read%'
innodb_buffer_read_hits = (1 - innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100%
(5)Query Cache命中率
mysql>show status like 'Qcache%'
Query_cache_hits = (Qcahce_hits / (Qcache_hits + Qcache_inserts )) * 100%
(6)Table Cache状态量
mysql>show global status like 'open%'
比较 open_tables 与 opend_tables 值
(7)Thread Cache 命中率
mysql>show global status like 'Thread%'
mysql>show global status like 'Connections'
Thread_cache_hits = (1 - Threads_created / connections ) * 100%
(8)锁定状态
mysql>show global status like '%lock%'
Table_locks_waited/Table_locks_immediate=0.3% 如果这个比值比较大的话,说明表锁造成的阻塞比较严重
Innodb_row_lock_waits innodb行锁,太大可能是间隙锁造成的
(9)复制延时量
mysql >show slave status
查看延时时间
(10) Tmp Table 状况(临时表状况)
mysql >show status like 'Create_tmp%'
Created_tmp_disk_tables/Created_tmp_tables比值最好不要超过10%,如果Created_tmp_tables值比较大,
可能是排序句子过多或者是连接句子不够优化
(11) Binlog Cache 使用状况
mysql >show status like 'Binlog_cache%'
如果Binlog_cache_disk_use值不为0 ,可能需要调大 binlog_cache_size大小
(12) Innodb_log_waits 量
mysql >show status like 'innodb_log_waits'
Innodb_log_waits值不等于0的话,表明 innodb log buffer 因为空间不足而等待
比如命令:
>#show global status
虽然可以使用:
>#show global status like %...%
来过滤,但是对应长长的list,每一项都代表什么意思,还是有必要弄清楚
mysql的最大数据存储量没有最大限制。
最多也就是单字段的长度有限制,那跟字段的数据类型有关,而对于数据表的大小一般不要超过2G,超过了效率会比较慢,建议分开多表存。
上MySQL 能承受的数据量的多少主要和数据表的结构有关,并不是一个固定的数值。表的结构简单,则能承受的数据量相对比结构复杂时大些。
据D.V.B 团队以及Cmshelp 团队做CMS 系统评测时的结果来看,MySQL单表大约在2千万条记录(4G)下能够良好运行,经过数据库的优化后5千万条记录(10G)下运行良好。
扩展资料
由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
参考资料来源:百度百科-MySQL数据库
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)