-----使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。-----

随笔分类 - 性能调优

摘要:网站地图sitemap.xml自动更新lastmod文件(PHP代码) 目前我这个代码是用到我网站上的,每个一定时间去执行一段代码,更新我的xml地图,可以借助这个思路,实现其他软件测试辅助功能。比如定期获取服务器上的某类资源。 1 <?php 2 ignore_user_abort(); //关闭 阅读全文
posted @ 2020-04-26 16:54 ZhuQue 阅读(70) 评论(0) 推荐(0) 编辑
摘要:启动工具用的是phpStudy,在C盘用的没有问题,想把phpStudy换到D盘(C为系统盘,出现故障后无法恢复),原C盘phpStudy文件夹重命名phpStudy-bak,最后在D盘中启动apache和mysql,mysql启动正常,但apache启动失败。 回到C盘phpStudy下,卸载ap 阅读全文
posted @ 2019-12-30 10:56 ZhuQue 阅读(73) 评论(0) 推荐(0) 编辑
摘要:最近的译文距今已有4年之久,原文有一定的更新。今天踩着前辈们的肩膀,再次把这篇文章翻译整理下。一来让自己对web缓存的理解更深刻些,二来让大家注意力稍稍转移下,不要整天HTML5, 面试题啊叨啊叨的~~ 什么是Web缓存,为什么要使用它?Web缓存游走于服务器和客户端之间。这个服务器可能是源服务器(资源所驻留的服务器Add),数量可能是1个或多个;这个客户端也可能是1个或多个。Web缓存就在服务器-客户端之间搞监控,监控请求,并且把请求输出的内容(例如html页面、 图片和文件)(统称为副本)另存一份;然后,如果下一个请求是相同的URL,则直接请求保存的副本,而不是再次麻烦源服务器。使用缓存的 阅读全文
posted @ 2013-06-26 09:54 ZhuQue 阅读(1679) 评论(1) 推荐(0) 编辑
摘要:网络测试拷贝包。测试网卡吞吐量。ftp -n 172.16.24.31 <<!user root rootpingan31binpromput "|dd if=/dev/zero bs=1m" /dev/nullby!运行该脚本,通过查看系统的网络信息查看网络最大吞吐量。I/F Name Recv=KB/s Trans=KB/s packin packout insize outsize Peak->Recv Trans xx en0 69375.2 75411.1 130997.9 119867.5 542.3 644.2 69583.3 75618.1 阅读全文
posted @ 2013-05-12 14:13 ZhuQue 阅读(2932) 评论(0) 推荐(0) 编辑
摘要:众包(Crowdsourcing)是这样一个过程:征求大批社区中的群众去完成一个任务,传统上这种任务由组织从内部选择一拨人来完成,多数是雇员或合同工。众包测试(Crowdsourced testing)利用众包的有效性和效率,把网络和云经济结合起来,是一种强大的组合。这可以成为游戏规则的变革者吗? Israel Gat提到,软件测试过程可以分割成两部分: ● 开发团队的单元测试 ● 其他形式的测试包括功能性测试、负载测试、回归测试、可用性测试等等 Israel说,后者正是游戏变革的地方,有专门的软件测试公司正有效利用网络和群众。他提到,根据测试的定义,众包测试本身非常适合像Kanba... 阅读全文
posted @ 2013-04-08 09:26 ZhuQue 阅读(1530) 评论(0) 推荐(0) 编辑
摘要:安装/配置: 通过另外一个工具也可以测试手机客户端APP的性能,这就是android开发包中的DDMS工具(Dalvik Debug Monitor Service),先来说一下android开发包的安装: 1、 首先安装JDK,1.5以上的版本 2、 在安装完JDK 后,就需要下载及安装Android SDK,即: android-sdk-windows,压缩包大约有551M左右 3、 ... 阅读全文
posted @ 2013-04-02 16:39 ZhuQue 阅读(23269) 评论(0) 推荐(2) 编辑
摘要:最近常使用Instruments这个工具,我发现它对追踪游戏中的内存泄露非常有帮助。自从发现Instruments如此有用后,我就觉得写一篇文章介绍如何使用它来追踪内存泄露对其他人也会有帮助。 什么是内存泄露?我为什么要关心内存泄露? …此段省略… 访问维基百科可以获得更多关于内存泄露的信息。 我如何知道内存泄露了? 一些内存泄露可以很容易地通过阅读代码来发现,另一些就要困难点了,这就是为什么需要Instruments 的原因。Instruments 有一个“Leaks”工具,它会准确地告诉你什么地方发生了内存泄露,以便你能定位和修复泄露问题。 例子程序 我写了一个例子程序,它有两个地方会发生 阅读全文
posted @ 2013-04-02 16:27 ZhuQue 阅读(3799) 评论(0) 推荐(0) 编辑
摘要:虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。先下载一个实现准备好的内存泄露的Demo吧:leak app下载下来,打开运行,程序是一个寿司的列表,列出各种寿司卷。试着选择里面的几行,应该是选第二行的时候就崩溃了。崩溃截图:在崩溃的地方断住了,知道crash的地方了,但是不知道具体crash的原因 阅读全文
posted @ 2013-04-02 16:07 ZhuQue 阅读(437) 评论(0) 推荐(1) 编辑
摘要:和数据库打交道难免会出现数据备份和恢复的时候,下面是用到的指令,暂时留在这里备注一下。数据备份:E:\mongodb-win32-x86_64-2.2.1\bin>mongodump.exe --dbCpsCommodityInfoE:\Mongo20130329数据恢复:E:\mongodb-win32-x86_64-2.2.1\bin>mongorestore.exe --db CpsCommodityInfo --directoryperdb F:\2013329\CpsCommodityInfo --drop参考地址:http://cn.docs.mongodb.org/m 阅读全文
posted @ 2013-03-29 16:44 ZhuQue 阅读(1115) 评论(1) 推荐(0) 编辑
摘要:mongotop也是mongodb-win32-x86_64-2.2.1\bin下的一个内置工具,mongotop提供了一个方法,用来跟踪一个MongoDB的实例,查看哪些大量的时间花费在读取和写入数据。 mongotop提供每个集合的水平的统计数据。默认情况下,mongotop返回值的每一秒。用法:1、E:\mongodb-win32-x86_64-2.2.1\bin>mongotop 10后面的10是<sleeptime>参数 ,可以不使用,等待的时间长度,以秒为单位,mongotop等待调用之间。通过的默认mongotop返回数据的每一秒。2、E:\mongodb-wi 阅读全文
posted @ 2013-03-29 12:33 ZhuQue 阅读(5378) 评论(0) 推荐(0) 编辑
摘要:mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。 mongostat命令格式,当然也可以加参数:在第一个例子中,mongostat将返回数据的每一秒,持续20秒。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下所有调用产生相同的行为:mongostat -rowcount20 1mongostat -rowcount20mongostat -N 20 1mongosta. 阅读全文
posted @ 2013-03-29 11:41 ZhuQue 阅读(26604) 评论(0) 推荐(0) 编辑
摘要:1、下载mongodb-win32-x86_64-2.2.1到任意一个盘符下或者任意一目录下2、新建立一个批处理文件,主要用于安装mongoDB的server到服务中:D:\"ProgramFiles"\mongodb-win32-x86_64-2.2.1\bin\mongod-dbpath"D:\mongo_db_server"--logpath"D:\mongo_db_server\log\log.txt"--port27017--install注意批处理中的ProgramFiles要用"",因为路径中有空格。 阅读全文
posted @ 2013-03-29 11:19 ZhuQue 阅读(3041) 评论(1) 推荐(1) 编辑
摘要:转一遍我以前写的一遍文章,也是关于银行测试方面的,《谈互联网银行项目性能测试的必要性》。。------------------------------------------------------------------------------- 最近十年来网络技术呈现出日新月异的景象,人们的网络生活也越来越丰富,特别是最近两年社会性网络服务(SNS)的普及。同时通过网络服务的消费者对并发量的需求也越来越明显,软件性能测试也随之越来越重要。应用系统好比“人”字,功能测试是左边的一撇,犹如人的左腿;开发设计处于中间的位置,犹如大脑核心中枢;性能测试是右边的一捺,犹如人的右腿。一个人走路的时.. 阅读全文
posted @ 2013-03-27 09:45 ZhuQue 阅读(866) 评论(0) 推荐(0) 编辑
摘要:作为一个新兴的职业,银行软件测试融合了银行业务和软件测试两个职业的知识体系,在国内银行业越来越受到更多的重视测试队伍也在不断地发展壮大。目前国内大型商业银行都有自己专职的测试队伍。 测试部门作为一个成本中心需要分享经营部门的利润。伴随着测试队伍的发展壮大,银行决策者需要认真思考业务发展需要和测试部门规模之间的配置问题。为此,需要科学地进行测试工作量分析和掌握评估方法。 根据IT业的人力资源配置模型测试人员和开发人员的配置比例为1/3一1/5。而根据我国银行业的实际配置情况测试人员的数量配备几乎无法满足这样的要求。 测试人员的工作t如何分析和评估才能确保测试人员数量配置是科学的。这是银行... 阅读全文
posted @ 2013-03-27 09:37 ZhuQue 阅读(3692) 评论(0) 推荐(0) 编辑
摘要:大家都知道.net有一套自己的内存(垃圾)回收机制,除非有一些数据(方法)长期占有内存不随着垃圾回收功能而释放内存,这样就造成了我们经常说的内存泄露、内存持续增长得不到释放等问题导致APS.net网站或者C/S应用程序的用户无法正常使用。最终会导致用户通过客服人员或者技术支持人员投诉公司的技术部门,形成一连串的未知的不良反映。不管哪位性能测试人员,遇到这样的问题都是摸不着头脑,不知从何处下手。.net环境中不像JAVA有那么多的工具可以支撑,比如性能测试经常用到的Jconsole、Jprofiler等工具,并且基于JAVA运行环境的在打印GC日志方面也很强大。对于.net平台,微软也提供的.n 阅读全文
posted @ 2013-03-25 09:42 ZhuQue 阅读(1518) 评论(2) 推荐(0) 编辑
摘要:前几天做了一个loadrunner结合tesseract-ocr来识别验证码,尽管识别精度不是太高,甚至有些验证码图片不能被识别,但是使用循环的方法也是可以得到正确的验证码的。性能测试中不建议使用这个方法,因为涉及到大并发压力的情况。但是在功能自动化测试中我是100%赞成使用的,功能自动化不像性能自动化那样对同一个操作(登录)有大并发的出现。 我们使用的自动化框架是基于ruby+watir搭建的一套UI框架,通过识别UI中的对象来进行功能自动化测试,来达到检测系统功能健康状况。 ruby中也有处理图片的gem包,比如:rmagick、tesseract-ocr、rtesseract,以... 阅读全文
posted @ 2013-03-13 15:30 ZhuQue 阅读(4887) 评论(7) 推荐(1) 编辑
摘要:最近一周我在搞验证码的问题,幸好有tesseract-ocr工具的支持,可以识别保存在本地的图片上的字符等,就是利用这一点,好多朋友把这一功能用在了识别验证码上(有些验证码不能被识别,精确度不高,可能是由于验证码中噪点的存在,妨碍了识别)。我只是照葫芦画瓢,解决了LoadRunner中识别验证码的问题,全是基于C环境的。详细的可以参看我的另一篇博文:http://www.cnblogs.com/zhuque/archive/2013/03/06/2946565.html 由于tesseract-ocr工具对一些验证码的识别精确度不是太高,甚至有些图片根本识别不出来,还是建议在正式压力测试... 阅读全文
posted @ 2013-03-13 11:33 ZhuQue 阅读(2162) 评论(2) 推荐(0) 编辑
摘要:#PartoneaFile=File.new("C:\\1.txt","w")aFile.puts"the1"aFile.puts"the2"aFile.close#ParttwoaFile=File.new("C:\\2.txt","w")puts"the1"puts"the2"aFile.close 闲的无聊,看了一下Ruby如何读写文件,准备写段代码来生成测试数据。上面有两段代码,看出有什么区别吗?嗯,一个用了 aFile.put 阅读全文
posted @ 2013-03-13 10:09 ZhuQue 阅读(3445) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-12 14:18 ZhuQue 阅读(4115) 评论(5) 推荐(1) 编辑
摘要:俗话说前人栽树,后人乘凉,此话一点不假,结合云层的一遍文章:http://bbs.51testing.com/thread-533920-1-1.html,知道还有一个Tesseract-OCR可以用来识别图片上的文字(验证码)。在code.google上下载了tesseract-ocr-setup-3.02.02.exe,即windows版本,下载安装后安装路径自动加入到环境变量中,在cmd中可以手动测试一下:格式如下:tesseract.exe c:\test1.jpg c:\test -l//test1.jpg 是我提前保存在C盘中的验证码图片,后面的test自动把test1.jpg中的 阅读全文
posted @ 2013-03-06 18:10 ZhuQue 阅读(4279) 评论(3) 推荐(1) 编辑
摘要:Jenkins的前身是Hudson,是做持续集成必不可少的工具,主要用途:持续、自动的构建项目;构建自动化测试项目;监控定时执行的一些任务。先说说一下安装:Hudson的war包下载地址:http://mirrors.neusoft.edu.cn/eclipse/hudson/war/Jenkins的war包下载地址:http://mirrors.jenkins-ci.org/war/下载tomcat的地址:http://mirror.bit.edu.cn/apache/tomcat/(Hudson、Jenkins需要web容器支持,不需要数据库,直接访问)首先安装JDK,我的JDK版本是1. 阅读全文
posted @ 2013-01-22 16:45 ZhuQue 阅读(8780) 评论(0) 推荐(2) 编辑
摘要:现在一个测试项目,发现性能测试机中有很多TIME_WAIT状态的TCP连接,在网上查了一下,这种状态也叫TCP半连接状态。测试环境:9台windows测试机,其中包括一台压力控制机,即controller机器服务器环境:IIS7.0+MS SQL问题表现:controller机器使用其中任何一台windows测试机并发5个vuser或者更多,都会在8分钟或者10分钟左右出现大量的失败交易分析:通过在cmd中查看netstat -ano > d:/port.txt(把netstat打印的信息输出到当前D盘根目录下)查看TCP连接,有大量的TIME_WAIT状态的TCP连接,大约有6W多个t 阅读全文
posted @ 2012-11-28 14:18 ZhuQue 阅读(5908) 评论(1) 推荐(0) 编辑
摘要:查看Linux系统中TCP连接情况:查看系统tcp连接中各个状态的连接数。netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'查看和本机80端口建立连接并状态在established的所有ipnetstat -an |grep 80 |grep ESTA |awk '{print$5 "\n"}' |awk 'BEGIN {FS=":"} {print $1 "\n"}' |sort |uniq输出每个 阅读全文
posted @ 2012-11-17 11:22 ZhuQue 阅读(1366) 评论(0) 推荐(0) 编辑
摘要:简述:redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。环境:CentOS 5.5 x64下载安 阅读全文
posted @ 2012-11-14 12:33 ZhuQue 阅读(5484) 评论(0) 推荐(0) 编辑
摘要:死锁和堵塞一直是性能测试执行中关注的重点。下面是我整理的监控sql server数据库,在性能测试过程中是否出现死锁、堵塞的SQL语句,还算比较准备,留下来备用。--每秒死锁数量SELECT *FROM sys.dm_os_performance_countersWHERE counter_name LIKE 'Number of Deadlocksc%';--查询当前阻塞WITH CTE_SID ( BSID, SID, sql_handle ) AS ( SELECT blocking_session_id , ... 阅读全文
posted @ 2012-11-08 15:03 ZhuQue 阅读(29203) 评论(2) 推荐(4) 编辑
摘要:Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据.简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。安装平台:centos4.7虚拟机环境:mysql+apache+PHP5所用到的安装包:Libevent(memcached用到了libevent这个库,在编译时用到)下载:https://github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gzmemcache下载:http://www.danga.com/mem 阅读全文
posted @ 2012-11-05 14:12 ZhuQue 阅读(763) 评论(2) 推荐(0) 编辑
摘要:memcache也有一款图形界面的监控工具(memcachephp),可以通过这个工具查看到局域网内所有部署memcache机器或者端口的memcache的运行情况,对我们监控memcache的缓存命中率、cache利用率、点击率等信息有很好的帮助作用。图形界面工具的推出,有助于我们性能测试工程师脱离命令行方式,避免多个memcache端口的监控窗口来回切换,更能够让测试人员有足够多的时间去做其他方面的工作。1、本地下载memcachephp.zip,网上提供下载,注意这是一个需要apache支持的PHP工具,memcachephp下载地址:http://download.csdn.net/d 阅读全文
posted @ 2012-11-05 12:32 ZhuQue 阅读(7782) 评论(0) 推荐(0) 编辑
摘要:前面一篇已经向大家介绍了《redis的图形界面管理工具:phpredisadmin》,URL:http://blog.csdn.net/wy3552128/article/details/8145319下面来说一下它的安装,说白了吧,phpredisadmin工具就是一个放在Apache或者nginx下web根目录下的网站。平台:VMware上虚拟的centos4.7宿主机:windows已经安装:mysql、Apache、PHP、redis安装phpredisadmin前准备:1、一定要安装Apache、PHP环境,redis可以是部署在其他局域网服务器上的,phpredisadmin在配置 阅读全文
posted @ 2012-11-04 14:06 ZhuQue 阅读(7562) 评论(0) 推荐(0) 编辑
摘要:Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。以下是安装测试步骤:1,redis安装:[root@localhost ~]# cd /usr/local/src/[root@localhost src]# wget http://redis.googlecode.com/files/redis-2.2.12.tar.gz[root@localhost src]# tar zxf redis 阅读全文
posted @ 2012-11-03 21:42 ZhuQue 阅读(319) 评论(0) 推荐(0) 编辑
摘要:前几天遇到了一个棘手的问题,局域网中的其他主机不可以使用vmware中的cenos虚拟机。在本地台式机电脑上安装虚拟机后,网络适配器设置成【桥接:直接连接到物理网络】,其他局域网的主机可以ping通。但这样不合人意,我的目的是要把虚拟机放到测试环境中的,不是放在本地机器的,而且本地机器需要每天下班关机,并且配置也低。把虚拟机迁移到测试环境中的一台服务器上后,centos需要更换IP,和宿主机在同一个网段,网络适配器还是桥接方式,与本地台式机上相同,没有变化。但是无论怎么设置、并且重新多次安装了centos虚拟机,还更换了vmware的版本,局域网中的其他机器都不能ping通服务器上的cento 阅读全文
posted @ 2012-11-03 21:16 ZhuQue 阅读(13556) 评论(2) 推荐(0) 编辑
摘要:三四年没有安装过mysql+apache+PHP的环境了,我以前是做银行性能测试外包服务的,在甲方开发中心遇到这样环境的项目也比较少,大多是WebLogic/WebSphere+Oracle/DB2架构的大型系统。涉足电商行业方面的项目,不得不再去温故那些几乎遗忘的IIS、apache、MSsql、mysql等环境。平台:VMware上虚拟的centos4.7宿主机:windows安装mysql前准备:1、检查该环境中是否已安装mysql,检查方法:netstat –ano命令查看mysql默认端口3306是否存在;或者再命令行中执行mysql2、下载mysql安装包在http://www.m 阅读全文
posted @ 2012-11-03 15:53 ZhuQue 阅读(19703) 评论(0) 推荐(0) 编辑

多年性能测试、测试管理经验,专注银行、支付、电商行业,倾向于性能、安全、 监控、调优、模型、管理等方向的研究。
使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。