发表于: 2017-11-14 22:55:19

1 897


今天完成的事情:

1.昨天错误认识,除吞吐量以外还有TPS.两者不是一个东西。

(1)循环永久的30个线程进行测试,还是在本地访问项目首页

TPS:每秒事务数。在手动停止时,有请求没访问到,所以Error%有值,不过这个值还是可以的。

(2)把线程提高的1000,很明显的系统崩的不要不要的。

但是90%Line却不到5000,感觉手动停止的一瞬间,很多访问会失败。

大概很多访问失败,所以最多应该开个500及以上的线程可能是上限。

(3)以后测试还是选择自动循环,除非有要求

这是一个算线上项目测试的一些参数:20个线程,25次循环,1次时间间隔。

数据库在本地时的报告,90%Line不到50,所以本地测试的数据没有多大作用。

然后我之间测试仅仅数据库在远程服务器上的报告:

总的来说,远程访问数据库还是OK的,也没出现失败的,90%的响应时间在500左右。

2.学习memcache

(1)首先是安装,全程都是按照下面的一篇博客来做的,有点难搞

http://blog.sina.com.cn/s/blog_6145ed810102vqu6.html

前提条件:版本最低10.5,有XCode工具

(2)在终端中通过brew下载,所以应该先下载brew

最烦的就是很多下载网址都报404,自己啥也不会的时候,所用非主流的工具,就很麻烦

还是用博客里的原命令行下载成功的。影响最大的讲究是没看懂,只能借用人家的。

接着就是一些命令,先查包含的相关文件,再安装我们需要的。

这里我们需要1和3。首先安装服务器:

上图可以看出,安装之前先安装依赖包,最后安装完服务器以后先测试一番。

memcache的命令我会在下面写出,无论什么系统,都一样。

接着就是安装客户端库,安装完以后默认参数启动服务器,都OK了,但是打算使用telnet测试时,怎么也不能用,报找不到telnet,查看了memcache的进程,是有的,也查了端口号11211,不过看不懂。

然后要使用的话写相关程序,索性就直接换系统了。不然再出错,还是不会解决。

3.Windows系统上安装memcache

哇!感觉相比起来好简单啊。

(1)按常规选择简单的解压压缩包进行安装(这里要注意系统,32位的和64位的是不一样的)

这个没什么可说的,就解压就OK

安装memcache的话,在解压文件路径下进行安装命令,窗口是不变的。所以我们需要去控制面板里面查看服务信息。

命令下面会说到。

(2)然后我进行了手动启动

(3)修改参数。(不强制修改)

这个需要去注册表里修改memcache的相关信息。比如端口号啊等,我这里只修改了缓存内存和端口号

(4)修改完以后重启memcached

(5)然后还是用telnet进行测试:

如果在命令行里没有启动成功,就是telnet没有开启,由相关步骤开,如下图:

(6)开始测试

开启以后输入:telnet IP 端口号

成功后会是一个空页面,按“control+]”后会提示成功,在按renturn就进入telnet的编辑页面,具体编写规范下面会讲到。

这样就表示memcache可以正常使用了,接下来就是代码的事了。

4.最后就是搞了个jar包扔到pom文件里,因为maven仓库里没有,所以时自己下载的。

以下就是命令

明天计划的事情:

继续做任务吧,明天尽量完成memcache

遇到的问题:

mac上启动成功了memcache,但是telnet没法启动,能力有限,解决不了。现在已换Windows系统

收获:

1.线上的参数选择原因

选择适当的 ramp-up preiod 值并不容易易。 首先,假如要使用大量线程的话,ramp-up period 一般不要设置成零。 因为假如设置成零,Jmeter将会在测试的开始就建立全部线程并立即发送访问请求, 这样一来就很轻易使服务器饱和。

由于同样的原因,过大的ramp-up period 值也是不恰当的,因为将会降低访问峰值的负载,换句话说,在一些线程还未启动时,初期启动的部分线程可能已经结束了。 

2.TPS全称Trasaction per second,也就是事务数/秒。

它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,最终利用这些信息来估计得分。

3.什么是Memcached?

Memcached是一个免费和开放源代码的高性能分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态Web应用程序。

Memcached是内存中的键值存储,用于从数据库调用,API调用或页面呈现的结果中为任意数据(字符串,对象)提供小块数据。

Memcached简单而强大。其简单的设计促进了快速部署,易于开发,并解决了大数据缓存面临的许多问题。它的API适用于大多数流行的语言。

4.Windows下安装Memcached

(1)下载解压(32位的解压后下面有6个文件)

(2)以管理员身份启动命令行,并在相应目录下执行命令:memcached.exe -d install

(3)然后启动memcached

1)执行命令:memcached.exe -d start

然后可以在任务管理器中看到进程正在运行

2)[控制面板]->[管理工具]->[服务] 找到 memcached 服务,双击它打开,设置:

启动类型:选择【自动】
服务状态:点击下面的【启动】

(4)基本参数设置

-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

(5)停止memcached

执行命令:memcached.exe -d stop

(6)卸载memcached

执行命令:memcached.exe -d uninstall

(7)修改参数

打开注册表:

首先用win+R,然后在里面输入“regedit”打开注册表。

选择:HKEY_LOCAL_MACHINE---->SYSTEM---->CurrentControlSet---->services---->memcached 
---->ImagePath

然后双击在其后面添加命令即可。不修改的话就不用管了。

5.Telnet

(1)启动telnet

执行命令:telnet IP地址 memcached端口号

如果没启动,则需要去:

控制面板---->程序和功能---->打开或关注windows功能---->在“telnet客户端”前面打勾在执行命令即可

(2)相关命令含义

1)add 是关键字代表给memcache缓存系统里面增加一个key

2)定义一个对应key的名称

3)后面需要写一个叫做压缩状态码的东西,有0|1两种状态0 代表不压缩缓存1代表压缩缓存,这个是memcache内部的行为,内部实现数据的压缩

4)缓存时间(单位秒)

5)缓存字符的长度,单位B

6)如果一个数据原先有被memcache缓存,这个时候再使用add做添加处理,这个时候memcache就会出现NOT_STORE的提示

7)在命令行下输入quit关键字结束Telnet终端


返回列表 返回列表
评论

    分享到