单节点数据库的压力测试

mysqlslap是mysql自带的基准测试工具,优势:查询数据,语法简单,灵活容易使用.该工具能够模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据并且提供了多种引擎的性能比较.mysqlslap为mysql性能优化先后提供了直观的验证依据。mysql

能够模拟出大量客户端同时操做数据库的状况,经过结果信息来了解数据库的性能情况。算法

mysqlslap 的一个主要工做场景就是对数据库服务器作基准测试。sql

例如咱们拿到了一台服务器,准备作为数据库服务器,那么这台服务器的硬件资源可以支持多大的访问压力呢?优化了操做系统的内核参数后,是否提高了性能?调整了Mysql配置参数后,对性能有多少影响?……数据库

经过一系列的调优工做,配合基准测试,就能够把这台服务器调整到最佳状态,也掌握了健康状态下的性能指标性能优化

之后在实际运行过程当中,当监控的数据接近了基准指标时,说明数据库服务器快要满负荷了,须要分析是数据库结构设计、SQL语句这类用法问题,仍是硬件资源的确不够了,而后进行相应的处理。服务器

数据库服务器也可能须要硬件升级,升级以后也须要进行基准测试,和以前的测试结果对比,确保升级后的性能是提高的,防止不恰当的升级或者错误的配置引发性能降低并发

下面看一下如何使用 mysqlslap。工具

经常使用的选项
--concurrency    并发数量,多个能够用逗号隔开
--engines       要测试的引擎,能够有多个,用分隔符隔开,如--engines=myisam,innodb
--iterations      要运行这些测试多少次
--auto-generate-sql        用系统本身生成的SQL脚原本测试
--auto-generate-sql-load-type    要测试的是读仍是写仍是二者混合的(read,write,update,mixed)
--number-of-queries           总共要运行多少次查询。每一个客户运行的查询数量能够用查询总数/并发数来计算
--debug-info               额外输出CPU以及内存的相关信息
--number-int-cols             建立测试表的int型字段数量
--number-char-cols             建立测试表的chat型字段数量
--create-schema             测试的database
--query 本身的SQL           脚本执行测试
--only-print                 若是只想打印看看SQL语句是什么,能够用这个选项性能

测试语句:测试

mysqlslap -hlocalhost -uroot -p123456 -P3306 --concurrency=500 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=500

 

 数据库集群

pxc 数据读写强一致性,适合存储高价值重要数据。

单表数据量超过2千万数据性能 处理不方便。

订单 钱有关的 都要强一致性

数据切分 中间件mycat

跨平台。

牺牲性能 保证数据的一致性

日志须要保存到数据库中

大数据中算法:协调过滤算法(用户产生的日志数据)

相关文章
相关标签/搜索