针对读写操作频繁的应用系统的LINUX调优设置

在线签约系统调优

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

#项目类型
 IO限制型应用,需要频繁调用PDF进行签章,调用的PDF保存在
 磁盘中。
#项目业务设计实现
 针对读写操作频繁的应用系统的LINUX调优设置_第1张图片


这里简要说明一下业务流程:前端业务系统过来的请求通过Nignx进行分流,通过网关DSS,将各自的请求转发到相应的老,新签章系统进行处理
这里需要说明一下,每一个签章请求都需要电签系统处理完成之后,给业务端返回一个PASS标识,在这个过程当中,可能出现的问题:1.网络流量因素。2.大并发情况下,IO瓶颈的限制 3.中间件问题,而导致签约失败。
#测试环境
物理数据库服务器一台
华为服务器应用一台
华为服务器网关应用一台
千兆局域网
千兆交换机,出口,入口的流量 未做限制
#测试完成后数据如下
=======
并发15用户时
IO负载过高
针对读写操作频繁的应用系统的LINUX调优设置_第2张图片
内存使用状况如下图 
针对读写操作频繁的应用系统的LINUX调优设置_第3张图片


由内存使用状况可知,系统在相应的压力下,频繁读取PDF的文件,导致用来缓存的文件cache减少,memfree下降,但应用程序使用的内存并未见异常,从图可知,应用程序使用内存稳定。
测试完成的数据来看,一个签章请求到处理完这个请求的响应时间均大于25秒,系统每秒处理请求不到3个,TPS典线波动及响应时间曲线波动较大。
暂不考虑应用层代码问题
现仅针对此应用服务器中的磁盘进行简单的调优设置,不动任何应用层:
首先需要说明的是:系统在使用PDF文件是存在放磁盘最内的目录,使用的文件系统为ext2 ,在创建这个文件系统时,未指定块的大小。
现将应用系统中的:磁盘做如下设置

–指定ext 2中的块为4096byte字节,减少文件碎片
–将存放PDF目录放在磁盘最靠外的圆柱
–不使用文件中的atime属性,减少文件每次在读写时的记录时间
–针对这个系统的特性,可以使用虚拟文件系统tmpfs,防止使用此容量过大导致性能下降或死机,可以通过mount tmpfs /mnt/tmpfs -t tmpfs -o size=1G进行设置
经过上述调整后,在来测试:
IO使用如下图
针对读写操作频繁的应用系统的LINUX调优设置_第4张图片
内存使用如下图
针对读写操作频繁的应用系统的LINUX调优设置_第5张图片
由上述图可知,频繁读取PDF文件,CACHE内存与次测试相比,没有明显的下降,且使用稳定;
IO两次测试相比,负载都很高,对比CPU的使用率,及网络资源的使用资源来看,没有出现相应的异常情况,直接的原因是代码在处理PDF的写读逻辑出现问题,每次请求从磁盘读取同个文件的次数基本超过了5次,且这5次的读写操作都从直接从物理盘读取;
未完待续

你可能感兴趣的:(java项目调优总结,linux,应用)