
mysqlslap
mysqlslap可以模拟服务器的负载,并输出计时信息。它包含在MySQL 51 的发行包中,应该在MySQL 41或者更新的版本中都可以使用。测试时可以执行并发连接数,并指定SQL 语句(可以在命令行上执行,也可以把SQL 语句写入到参数文件中)。如果没有指定SQL 语句,mysqlslap 会自动生成查询schema 的SELECT 语句。
MySQL Benchmark Suite (sql-bench)
在MySQL 的发行包中也提供了一款自己的基准测试套件,可以用于在不同数据库服务器上进行比较测试。它是单线程的,主要用于测试服务器执行查询的速度。结果会显示哪种类型的 *** 作在服务器上执行得更快。
这个测试套件的主要好处是包含了大量预定义的测试,容易使用,所以可以很轻松地用于比较不同存储引擎或者不同配置的性能测试。其也可以用于高层次测试,比较两个服务器的总体性能。当然也可以只执行预定义测试的子集(例如只测试UPDATE 的性能)。这些测试大部分是CPU 密集型的,但也有些短时间的测试需要大量的磁盘I/O *** 作。
这个套件的最大缺点主要有:它是单用户模式的,测试的数据集很小且用户无法使用指定的数据,并且同一个测试多次运行的结果可能会相差很大。因为是单线程且串行执行的,所以无法测试多CPU 的能力,只能用于比较单CPU 服务器的性能差别。使用这个套件测试数据库服务器还需要Perl 和BDB 的支持,相关文档请参考
Super Smack
Super Smack是一款用于MySQL 和PostgreSQL的基准测试工具,可以提供压力测试和负载生成。这是一个复杂而强大的工具,可以模拟多用户访问,可以加载测试数据到数据库,并支持使用随机数据填充测试表。测试定义在"smack"文件中,smack 文件使用一种简单的语法定义测试的客户端、表、查询等测试要素。
Database Test Suite
Database Test Suite 是由开源软件开发实验室(OSDL,Open Source DevelopmentLabs)设计的,发布在SourceForge 网站上,这是一款类似某些工业标准测试的测试工具集,例如由事务处理性能委员会(TPC,Transaction Processing Performance Council)制定的各种标准。特别值得一提的是,其中的dbt2 就是一款免费的TPC-C OLTP 测试工具(未认证)。之前本书作者经常使用该工具,不过现在已经使用自己研发的专用于MySQL 的测试工具替代了。
Percona's TPCC-MySQL Tool
我们开发了一个类似TPC-C 的基准测试工具集,其中有部分是专门为MySQL 测试开发的。在评估大压力下MySQL 的一些行为时,我们经常会利用这个工具进行测试(简单的测试,一般会采用sysbench 替代),在源码库中有一个简单的文档说明。
sysbench
sysbench是一款多线程系统压测工具。它可以根据影响数据库服务器性能的各种因素来评估系统的性能。例如,可以用来测试文件I/O、 *** 作系统调度器、内存分配和传输速度、POSIX 线程,以及数据库服务器等。sysbench 支持Lua 脚本语言,Lua 对于各种测试场景的设置可以非常灵活。sysbench 是我们非常喜欢的一种全能测试工具,支持MySQL、 *** 作系统和硬件的硬件测试。(节选自《高性能MySQL》)可以对服务器进行规范化的测试,保证了测试结果的有效性和测试工作的效率。记录系统部件性能、web和数据库应用服务器性能以及系统的稳定性和功耗等指标,通过对指标的分析和比较,找出被测服务器的不足,并可以对不同服务器的测试结果进行比较,为服务器租用设计和采购提供数据支持。—深圳比特捷—稳定性测试的概念有2种,
一, 稳定性测试,对应于异常性测试,即发生异常情况时,系统如何反应的测试。包含:
1 交互性测试,被打扰的情况,如来电,短信,低电量等。这些其实在上章的功能测试中有提到。
2 异常性测试,断网,断电,服务器异常等情况
二,稳定性测试指的是性能测试,压力测试
1 基准性能测试,通过压服务器端口及客户端在不同网络环境下响应速度
2 大数据测试,在特定环境下,客户端一次性更新大量数据及人员列表
另有其它文章,提到性能测试,为评估APP的时间和空间特性(真是高深啊,时间和空间,再来个4维,5维?),包括:
1 极限测试:在各种边界压力情况下,如电池,存储,网速等,验证app是否能正确响应
--内存满时安装app
--运行app手机断电
--运行app时断掉网络
这几点倒是与第一条的内容重复
2 响应能力测试:测试app中的各类 *** 作是否满足用户响应时间要求
--app安装 ,卸载的响应时间
--app各类功能性 *** 作的影响时间
3 压力测试:反复、长期 *** 作下,系统资源是否占用异常
--app反复进行安装卸载,查看系统资源是否正常(弄个几次就行吧,正常人,谁反复安装卸载啊)
--其它功能反复进行 *** 作,查看系统资源是否正常(这倒是应该的)
4 性能评估:评估典型用户应用场景下,系统资源的使用情况
这里要定义,什么是典型用户应用场景
5 benchmark测试(基线测试),应该不是基准性能测试:与竞争产品的benchmarking,产品演变对比测试等(没有多大意义)。
简要步骤:adb devices---了解包名--adb shell monkey -p 包名 -v 运行次数(多个参数的组合形成不同的用例以求最大的覆盖)--当崩溃或无响应时分析monkey日志
常规monkey命令(可直接在项目里使用):
adb shell monkey -p comjiochatjiochatapp --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000000>d:\blog
重现bug:monkey日志搜索关键词ANR exception,将之前的事件重新 *** 作,尤其是seed值要一模一样,如monkey -p 包名 -v seed 0 500
日志分析:查看是否有crash等关键字,找上下文,进行简单分析将你所能定位的错误信息发给开发。
该工具用于进行压力测试。 开发人员结合monkey 打印的日志 和系统打印的日志,修改测试中出现的问题。Monkey 是SDK中附带的一个工具,所有的事件都是随机产生的,不带任何人的主观性。
不管是虚拟主机还是服务器,我们都知道,它的稳定性很重要,访问速度也有着决定性的作用。一般来说,如果访问速度不好的话,会让网站加载非常慢。
第一种方法:常见的ping命令。
这个命令与IT打交道的站长并不陌生,一般来说,网站速度不好,或者测试一下是网站问题还是服务器问题,都会使用这个命令进行测试。那么具体怎样检测租用服务器的网络是否通畅无延迟呢?
在电脑中点击开始,运行,然后输入CMD打开DOS命令窗口。然后输入网站网址,或者服务器的IP地址,格式为ping域名,或者pingIP。使用ping命令后,会反馈一个结果,这个结果基本包括了以下几个信息。
Time,这个是响应时间,时间越小越好,国内服务器响应时间一般在20-60ms之间。
TTL,这个可以判断相关的 *** 作系统,TTL=119,则表示是XP系统,不过这个现在一般不准,毕竟服务器可以修改注册表TTL类型。
数据包发送信息,这个里面有个丢包率,数值越小越好,正常都是显示丢失0。
第二种方法:tracert命令。
测试方法与ping命令类似,只是将ping换成tracert,不过这个命令可以用来检测终端用户到服务器机房的跳数及响应时间,换句话说,就是可以测试出服务器与全国客户的连接速度。显示时间也是以Ms为单位,时间越短越好。
第三种方法:比网站加载速度。
可以利用WhichLoadsFasterFastSoft工具测试一下打开网站速度。基本工作原理是通过连接,在浏览器中让两个真实的网页显示出来,反应的结果就是两个网站真实打开速度对比。
第四种方法:网站速度测试工具。
使用GTmetrixgtmetrix有丰富的测量结果,能够提供相关的网站速度提升建议,站长可以根据这些建议优化站点。然后再逐一找到加载速度变慢的原因。
在选择服务商时,首先一定要选择有保障的,方便日常维护。其次就是就要看服务器的稳定性,服务器的稳定性对于网站来说非常的重要,因为一点服务器出现宕机或其他情况,会造成网站的严重损失。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)