发表于: 2017-05-28 19:54:34

2 1331


今天完成;的事情:

将任务部署到远程服务器上,并使用Jmeter进行测试

Jmeter使用BadBoy录制Web脚本进行测试;


明天计划的事情:

必须搞定memcache,然后开始任务8


遇到的问题:

在将war包部署到服务器上以后,连接不上数据库:


1,驱动配置有误:driver=com.mysql.jdbc.Driver

2,数据库连接地址有误:url=jdbc:mysql://localhost:3306/test?3useUnicode=true&characterEncoding=utf8

3,密码或帐号有误:username=root, password=root

4,数据库未启动或无权访问

5,项目未引入对应的驱动jar包mysql-connector-java-5.1.6-bin.jar

6,mysql root没有远程访问的权限,需要增加权限,增加权限的步骤如下:

进入mysql数据库:

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

flush privileges;


以上方法都试了一遍,发现还是有问题,我继续在网上查,分析了一下,服务器上部署的其它项目是可以访问到数据库的,于是我把问题聚焦在了c3p0连接池的配置上面:

<!-- 关键配置 -->

<!--连接池中保留的最小连接数。 -->

<property name="minPoolSize">

<value>50</value>

</property>

<!--连接池中保留的最大连接数。Default: 15 -->

<property name="maxPoolSize">

<value>1000</value>

</property>

<!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->

<property name="initialPoolSize">

<value>100</value>

</property>

<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->

<property name="maxIdleTime">

<value>60</value>

</property>

<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->

<property name="acquireIncrement">

<value>50</value>

</property>

<!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements 属于单个 connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。

如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0 -->

<property name="maxStatements">

<value>0</value>

</property>

<!--每60秒检查所有连接池中的空闲连接。Default: 0 -->

<property name="idleConnectionTestPeriod">

<value>60</value>

</property>

<!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->

<property name="acquireRetryAttempts">

<value>10</value>

</property>

<property name="acquireRetryDelay">

<value>100</value>

</property>

<!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效 保留,并在下次调用 getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试

获取连接失败后该数据源将申明已断开并永久关闭。Default: false -->

<property name="breakAfterAcquireFailure">

<value>false</value>

</property>

<!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的 时候都将校验其有效性。建议 使用idleConnectionTestPeriod或automaticTestTable

等方法来提升连接测试的性能。Default: false -->

<property name="testConnectionOnCheckin">

<value>false</value>

</property>

<property name="testConnectionOnCheckout">

<value>false</value>

</property>

</bean>

将每一个property的意思都思考了一下,做了注释,修改以后,发现就可以访问到数据库啦。

c3p0的配置这一块一定得注意好了!


收获:

1)关于Jmeter测试,一直觉得它的功能非常强大,首先新建一个线程组,然后添加HTTP请求,在这个请求上我们要监听三方面的数据:

图形结果、察看结果树、聚合报告



2)使用Badboy录制web脚本,并用Jmeter进行http接口测试

于是我在Badboy的搜索框中先输入ptteng.com进入到葡萄藤首页,同时在Badboy中就会录制一条记录,然后我点击“登陆”进入到登陆界面,整个过程就都被记录了下来,左侧栏可以看到相关联的接口


使用Badboy导出jmx文件,可以使用JMeter对http接口进行测试:

使用JMeter打开“葡萄藤.jmx"这个文件

添加“图形结果”、“察看结果树”和“聚合报告”三个监听


线程组设置:

线程数:5

Ramp-Up Period: 10s

循环次数:20次


得到的聚合报告如下图所示:


上图中,各列表示的含义如下:


刚刚接触JMeter,要学的东西还有很多,努力~




返回列表 返回列表
评论

    分享到