1 / 28
文档名称:

邵宗文:数据库极限性能测试修正版.pdf

格式:pdf   页数:28页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

邵宗文:数据库极限性能测试修正版.pdf

上传人:紫岑旖旎 2014/3/19 文件大小:0 KB

下载得到文件列表

邵宗文:数据库极限性能测试修正版.pdf

文档介绍

文档介绍:数据库极限性能实践
研发中心邵宗文
数据库极限性能实践
为何要测试数据库的极限性能
如何着手进行测试
通过极限性能了解,合理使用和规避
风险。
为何要进行数据库性能测试
▲低层次——能知道大概要申请多少机器
▲一般——能够合理规划分库和分表
▲高层次——知道数据库性能不足,通过架构
或是别的手段去弥补
结合项目实际,了解自己的应用
•应用类型
读多写少(如体育项目);读写比例差不多(如邮件);和写多读少
(如投票,统计)
•预计数据量
半年?一年?后续扩展?决定单表还是多表,扩展的方法
•预计访问量
多少读?多少写?峰值?几台服务器,主从方式
•实时数据和非实时数据
哪些必须实时查询?哪些可以预先准备或近似?哪些用于统计汇总?
•时间的要求
实时性高的项目,如财经、体育;可以允许一定时间延迟的项目,如
博客圈
结合机器配置,了解自己的机器配置
•机器型号和批次
数据库平台主要采用dell的服务器。批次不同存在性能上的差异(如06、
07、08的cpu的cache size)
•了解机器磁盘性能
是多磁盘做了lvm,还是做了raid,做了raid的话,要知道是raidN?
•了解机器的内存
比如内存的容量和插槽几个,如有需要,建议购买单条容量高的内存
•了解网络瓶颈
有时项目读写量达到瓶颈后,可能是网络质量造成。跨IDC大量写操作
会很慢
•了解固态硬盘ssd
比如一些属于写少读多的项目可以考虑使用
如何进行数据库测试——步骤1
选择测试的方案
•选择市场上常见的服务器
选用了市面比较常规的dell服务器
•选择数据库版本
,.
• mysql引擎选择
因为互联网业务大部分是写少读多,所以myisam是不二的选择
•测试工具
推荐mysqlslap
•操作系统
x86_64
如何进行数据库测试——步骤2
具体实施测试计划
•进行限定系统内存
=1G的参数
•选择测试表(见后页)
测试样本用例10个表总数据量为几十G,对十个表进行总操作为100万次
的读写,以及200万次,400万次,800万次的读操作测试
•选择不同的并发
比如10,50,100并发执行同样的sql语句下的性能
• f的配置
关闭query_cache,同时使用很低的参数(见后页)
如何进行数据库测试——步骤3
★测试用例表
CREATE TABLE `song1`
`id` int(10) unsigned NOT NULL auto_increment,
`name1` varchar(250) NOT NULL,
`name2` varchar(250) NOT NULL,
`name3` varchar(250) NOT NULL,
`name4` varchar(250) NOT NULL,
`name5` varchar(250) NOT NULL,
`datetime` timestamp NOT NULL default
CURRENT_TIMESTAMP,
`rank` int(11) NOT NULL,
PRIMARY KEY (`id`)
。10个不同的Song0..Song9
如何进行数据库测试——步骤4
★ f
key_buffer = 124M
max_allowed_packet = 2M
table_cache = 1024
join_buffer_size = 2M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 180M
query_cache_size = 0
query_cache_limit = 2M
max_tmp_tables = 128
tmp_table_size = 124M
max_heap_table_size = 124M
thread_cache = 48
thread_concurrency = 16
max_connections = 484
max_user_connections = 220
如何进行数据库测试——步骤5
.磁盘用例和目的
数据库平台的机器基本都是用raid10,或是lvm将6个盘组