【软件测试】Lab3—Jmeter

1.在ubuntu上安装 apache,mysql 和 php,分别使用以下命令:

其中安装php后会出现apache无法解析php文件的情况,此时需要做如下修改:

(1):

在apache2.conf中找到
# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
在其后面添加
Include /etc/apache2/mods-available/php5.load
Include /etc/apache2/mods-available/php5.conf

 

(2)

在apache2.conf中添加:

AddHandler php5-script .php .html
AddType text/html .php .html
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

然后重启apache即可。

2.在ubuntu上安装ECshop

 

将老师给的ECshop的文件夹复制到ubuntu的/home/yatone/bin下:

其中ECShop_V2.7.3_UTF8_release1106中有三个文件夹:

Docs:ecshop的安装说明(Install.html)、ecshop的介绍(Reademe.txt)、rewrite的使用说明(URLRewrite.txt)等文件。
upgrade:升级包,如需升级将此目录放到网站跟目录下执行升级。
upload:该目录下是ecshop系统的安装程序文件,将此目录上传到网站空间根目录下。

(2):

将upload下的文件上传到站点根目录下的ecshop/中,并修改ecshop目录及其下文件权限:sudo chmod -R 777 ecshop

(3):

在浏览器中输入http://localhost/ecshop,启动安装程序:

根据步骤即可安装成功:

安装完成后首页如下:

其中因为php5版本问题会出现好多错误,下面是我遇到的错误以及解决方法:

①Deprecated: preg_replace() 问题:

把:return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);

改成:return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $source);

别的报这个错的改的类似,如果个别多个e之类的,刷新主页时会提醒,照着改就好了。


② Strict Standards: Only variables should be passed by reference 问题:

把 $tag_sel = array_shift(explode(' ', $tag));

改成:$arr=explode(' ', $tag);
         $tag_sel=array_shift($arr);

③ file_put_contents 和 can't write 问题:

把temp的权限改为777,然后把chaches里面的除了index.htm之外的文件都删掉。

 

(4) 安装sysstat,并查看状态

打开ubuntu命令行,敲入:apt-get install sysstat

安装完成后,启动sysstat:启动服务,执行/etc/init.d/sysstat start

敲入:sar -r来查看CIMN性能:

CPU:

Memory:

IO:

页面交换:

平均负载:

Linux的top截图如下:

(5).安装Jmeter

先安装JDK:

官网下载jdk到ubuntu,解压到/user/local/java,然后配置环境变量,vi /etc/profile:

重启或者source /etc/profile后安装成功:

然后安装Jmeter:

在命令行直接输入:apt-get install jmeter即可(需要root权限),安装完成后,输入jmeter即可打开jmeter窗口:

 (6). 使用jmeter

jmeter的录制有两种方法:第三方录制(使用badboy)和设置代理录制(录制脚本前,我们只要启动好代理,手动通过IE或者火狐来录制,录制完毕停止代理。),此处为设置代理录制。

根据老师提供的jmeter_proxy_step_by_step.pdf,进行操作,过程部分截图:

根据步骤完成即可打开JMeter代理服务器,其可以用于拦截浏览器请求。其中还需要根据

 http://jmeter.apache.org/usermanual/component_reference.html#HTTP%28S%29_Test_Script_Recorder

来安装JMeterCA certificate for HTTPS recording。下面是在火狐狸安装certificate的过程:

首选项->高级项->证书->证书机构->添加

然后进入火狐,设置代理:首选项->高级->网络->设置->然后修改如下图:

接下来即可输入http://jmeter.apache.org/index.html录制了:(注意因为上面的web服务器名称填的是jmeter.apache.org,并且include只有html格式的网页,所以只能进入以jmeter.apache.org为server的网页了,如果要录制其他网页,则可以根据情况改变填进去的值)

根据jmeter_proxy_step_by_step.pdf的步骤,添加summary report,设置线程数和循环次数,开始压力测试:

得出summary report和结果树:

=========================================================================================

实验报告部分要求的截图

下面是用Jmeter访问ecshop,对其进行5*10,50*20, 的压力测试,其Jmeter Aggregate Report,以及sysstat查看统计信息的截图:

1.Linux下top命令的截图:

2.访问的B/S系统截图:

3.Jmeter的Testplan展开截图

4.Beanshell代码

断言结果:(因为是5*10的,所以有很多的重复数据)

5.运行Jmeter测试之后的Aggregate Report Result截图:

5*10压力测试:

50*20:

 

6.运行Jmeter测试之后的服务器性能截图:

top截图:

sysstat截图,以下是在ubuntu里面的截图:

5*10:由上至下分别为:cpu,memory,IO,页面置换的状态。时间间隔为30秒。

50*20:由上至下分别为:cpu,memory,IO,页面置换的状态。时间间隔为90秒。

 

posted @ 2016-04-24 22:41  marsh  阅读(532)  评论(0编辑  收藏  举报