发表于: 2019-11-28 23:35:23
1 3018
今天完成的事:
1、服务器准备压测服务。
(1)安装redis
下载、上传、解压,而后make编译,再cd到src目录下,测试redis,报错。
百度后,安装tcl8.6.1,cd到src目录,sudo make test还是报错需要8.5以上版本tcl,试着只输入make test,就开始测试了。。
安装tcl8.6.1步骤如下。
原来tcl是脚本语言,方便被C、C++调用,而redis是由C语言编写,所以需要安装tcl。
回过头来安装redis,都提示跑测试,跑了一次后没有问题,再次安装还是一样提示,百度搜索说是这样就安装好了。。
redis.conf配置文件准备一个备份,然后修改配置。
设置后台运行redis,不需要单独再开一个窗口。
设置日志等级,文件位置。
设置最大内存。
设置可持久化。
设置redis密码。
不知道密码也可以登录redis-cli客户端,但是不能读写操作。
在安装目录src下,启动redis,并指定配置文件redis.conf,查看进程,启动成功。端口6379,本机运行。
进入客户端,输入密码
redis 相应命令,https://www.runoob.com/redis/redis-keys.html
退出redis-cli客户端需要ctrl+c,而后关闭redis服务还需要输入密码,这里为了方便没有输入IP和端口号,会有警告,但是也可以关闭服务。
设置远程连接,Windows本地连接服务器redis,可以进行客户端操作。注释掉127.0.0.1,将保护进程的yes改为no。
查看进程,IP处为“*”即可。
开放服务器防火墙端口6379后,连接成功。
(2)配置2个tomcat
修改log日志存放位置。
因断网,server.xml文件未保存就退出,需要删除临时文件。
需注意server前有“.”,成功删除,再次进入编辑就没有提示了。
(3)配置nginx
设置负载均衡,upstream。
2、打包项目,服务器运行。
报错,redis问题。
添加密码,修改IP地址。
还是报错,连接池问题。
百度后,取消有效性检验,设为false。
3、设置测试文件,进行测试。
使用badboy生成jmx文件,jmeter导入,添加监听器,保存测试文件,上传服务器。
将插件jar包传入安装目录下,重启jmeter即可。
压测命令,参数如下。
结果无内存。。
空闲的就122MB。free命令,h代表单位为MB。
jmeter日志如下,百度。
在tomcat的bin文件夹下,修改catalina.sh文件,禁止使用压缩指针模式,修改内存相关参数,添加如下代码。
关闭tomcat时,报错,说是1.8版本不支持部分配置。
于是搜索1.8以上版本如何修改内存,结果发现有说tomcat不建议直接在catalina.sh文件中添加配置,需要新建一个文件,在里面设置。
因为有人说不好,这里干脆直接删除,成功关闭。
代码如下。但是还是没有空间运行jmeter。
查看空闲内存,557MB。top命令查看,也不知道该删哪个。占比多的都挺重要的。。
没办法了,只能关了一个tomcat,jmeter就可以运行了。。
查看测试文件,需要jmeter新建测试,添加监听器,而后在窗口浏览处点击测试文件,就可以直接查看测试结果。
测了两次,太慢了。。
别的没啥能改的了,将redis的内存又调小一倍,这次只测试20线程的。还是很慢。。
nginx时间,单位秒,5次home,1次job,快的是挺快的。
tomcat时间,单位毫秒。
controller时间,单位毫秒。
nginx时间,慢的也很慢。。几乎2秒多。
明天计划的事:
1、了解缓存穿刺等原理,简单实现。
2、查看任务要求,准备提交。
遇到的问题:
今天主要是解决各种问题,安装问题,运行问题,压测问题。
主要是压测所需的内存不足问题,浪费了不少时间,还没有解决,只能关掉一个tomcat才能压测。
而且压测速度很慢很慢。。或者说快的很快,慢的特别慢。。应该是跟服务器质量有关系吧。
收获:
1、服务器准备压测服务。
(1)安装redis,redis 相应命令,https://www.runoob.com/redis/redis-keys.html
(2)配置2个tomcat、nginx。
2、打包项目,服务器运行。
3、设置测试文件,进行测试。
评论