性能衡量指标b
性能衡量指标
复制的问题和解决方案
1、数据损坏或丢失
Master: MHA + semi repl(半同步)
Slave:重新复制
2、混合使用存储引擎
MyISAM:不支持事务(目前基本淘汰了)
InnoDB: 支持事务(目前推荐的数据库引擎)
3、不惟一的server id 重新复制
4、复制延迟(目前没有办法的,天生原理限制了,复制是串行写的,新版本可能有改善)
需要额外的监控工具的辅助
一从多主:mariadb10版后支持
多线程复制:对多个数据库复制
数据库服务衡量指标:
Qps:query per second(每秒查询的次数 并发次数的查询)
Tps:transaction per second(每秒的处理事务)
压力测试工具:
- mysqlslap
- Sysbench:功能强大https://github.com/akopytov/sysbench
- tpcc-mysql
- MySQL Benchmark Suite
- MySQL super-smack
- MyBench
MYSQL压力测试
Mysqlslap:来自于mariadb包,测试的过程默认生成一个mysqlslap的schema,生成测试表t1,查询和插入测试数据,mysqlslap库自动生成,如果已经存在则先删除。用–only-print来打印实际的测试过程,整个测试完成后不会在数据库中留下痕迹
mysqlslap示例
单线程测试
多线程测试。使用–concurrency来模拟并发连接
迭代测试。用于需要多次执行测试得到平均值
测试同时不同的存储引擎的性能进行对比
执行一次测试,分别50和100个并发,执行1000次总查询
50和100个并发分别得到一次测试结果(Benchmark),并发数越多,执行完所有查询的时间越长。为了准确起见,可以多迭代测试几次
生产环境my.cnf配置示例
根据机器的配置,来更改相关的值
MYSQL配置最佳实践
- 高并发大数据的互联网业务,架构设计思路是“解放数据库CPU,将计算转移到服务层”,并发量大的情况下,这些功能很可能将数据库拖死,业务逻辑放到服务层具备更好的扩展性,能够轻易实现“增机器就加性能”
- 参考: 阿里巴巴Java开发手册 58到家数据库30条军规解读 http://zhuanlan.51cto.com/art/201702/531364.htm
小结
1、数据的重要性
2、性能优化
3、高可用、读写分离
4、故障排除,以及恢复时间
5、过滤机制
6、数据库引擎
7、备份与恢复
8、安装方式,RPM、绿色、编译
9、脚本运行
10、SQL 语句分类:DDL、DML、DCL、DQL
11、创建一个存储过程插入数据示例
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 438803792@qq.com
Loading...
keepalived