今年公司对于系统的稳定性越来越重视,为了知道了解系统的运行状况,前阵子对于交易系统做了生产环境的压力测试。
视乎记忆力越来越差了,做过的一些事情,慢慢的都快忘记了,这里记录下运行的轨迹:
因为毕竟是生产环境,可不能够随便的瞎折腾,于是乎和PE商量,挑选了几台机器,本想直接通过新加vip 的形式,将其中几台机器的流量直接引入到某一台承载机器上,后听说操作起来比较麻烦,因为后来改用 apache 的jl_module 来做,具体的配置如下:
配置转贴于: http://hi.baidu.com/rebyfpen/blog/item/5c74b64fd43b5f3aafc3ab8e.html
mod_jk负载均衡功能的停、启用
jk.conf的配置内容(黑为都需要;红为lb;蓝为本机):
LoadModule jk_module /xxx/httpd/modules/mod_jk.so
JkWorkerProperty worker.list=worker1,worker2,loadbalancer
JkWorkerProperty worker.worker1.type=ajp13
JkWorkerProperty worker.worker1.host=50.100.200.101
JkWorkerProperty worker.worker1.port=8009
JkWorkerProperty worker.worker1.lbfactor=1
JkWorkerProperty worker.worker1.socket_keepalive=1
JkWorkerProperty worker.worker1.socket_timeout=300
JkWorkerProperty worker.worker1.recycle_timeout=15
JkWorkerProperty worker.worker2.type=ajp13
JkWorkerProperty worker.worker2.host=50.100.200.103
JkWorkerProperty worker.worker2.port=8009
JkWorkerProperty worker.worker2.lbfactor=1
JkWorkerProperty worker.worker2.socket_keepalive=1
JkWorkerProperty worker.worker2.socket_timeout=300
JkWorkerProperty worker.worker2.recycle_timeout=15
JkWorkerProperty worker.loadbalancer.type=lb
JkWorkerProperty worker.loadbalancer.balance_workers=worker1,worker2
#JkWorkerProperty worker.list=local
#JkWorkerProperty worker.local.type=ajp13
#JkWorkerProperty worker.local.host=localhost
#JkWorkerProperty worker.local.port=8009
#JkWorkerProperty worker.local.socket_timeout=30
#JkWorkerProperty worker.local.socket_keepalive=1
#JkWorkerProperty worker.local.recycle_timeout=15
JkLogFile /home/app/logs/jk.log
JkLogLevel warn
JkOptions +ForwardURICompat
#JkMount /*.htm local
#JkMount /*.jhtml local
#JkMount /*.php local
JkMount /*.htm loadbalancer
JkMount /*.jhtml loadbalancer
JkMount /*.php loadbalancer
这里将对应的host 指向对应的 承载机器 host ip即可将对应的流量切过去。
然后在承载机器上面部署了一个 shell脚本用来采集java进程的内存暂用和gc情况,以及机器的整理性格情况 如 load,cpu的消耗情况。
最后分析apache 的log日志,看看系统的响应时间是否有影响。
初步分析下来,发现系统的承载余地还是蛮大的,应该是半年问题不大。
顺便在记录下 apache 的一个参数 keepalive,这个是保持客户端连接的一个参数,通过统计分析访问量和独立ip 数,平均下来,大概一个ip基本上都会访问3-4次
那么这个参数的开启效果就比较不错了。因为节省了建立和销毁链接的时间,最终导致了TM系统RT有了很大的一个提升,将近30%,真是一个意外收获的效果。