兰蔻御用运维总结之一
压力测试建议使用的工具:Microsoft Web Application Stress Tool
请于12月31日前做好相关的压力测试,看看是否目前两台服务器在以下的资源推广的情况下,能否承受相应的流量。是否需要增加服务器。
- 短信发送(2次)
1月25日 发送量: 53万
- EDM发送(1次)
大概会在1月20或21日 发送量: 20万
JVM的server版和client版的区别:
JVM动态库有client和server两个版本,分别针对桌面应用和服务器应用做了相应的优化,client版本加载速度比较快,server版本加载速度比较慢但是运行速度比较快。
操作手法:
把%JAVA_HOME%\jar\bin中的server的文件夹拷贝到%JAVA_HOME%同一级目录的jre中的bin目录下,然后修改C:\Program Files\Java\jre6\lib\i386目录中的jvm.cfg,把-server KNOWN 放在-client KNOWN前面,然后保存。现在可以在dos窗口中写入命令:java -version来查看是否是server版本:
C:\Documents and Settings\actop>java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) Server VM (build 14.3-b01, mixed mode)
maxHttpHeaderSize="8192" URIEncoding="UTF-8" useBodyEncodingForURI="true"
maxThreads="2000" minSpareThreads="75" maxSpareThreads="300"
enableLookups="false" redirectPort="8443" acceptCount="2000"
compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="50000" disableUploadTimeout="true"/>
set CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
set CATALINA_OPTS=%CATALINA_OPTS% -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true
Tomcat 6 支持 NIO -- Tomcat的四种基于HTTP协议的Connector性能比较
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
<Connector executor="tomcatThreadPool" port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector executor="tomcatThreadPool" port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" />
我们姑且把上面四种Connector按照顺序命名为 NIO, HTTP, POOL, NIOP
为了不让其他因素影响测试结果,我们只对一个很简单的jsp页面进行测试,这个页面仅仅是输出一个Hello World。假设地址是 http://tomcat1/test.jsp
我们依次对四种Connector进行测试,测试的客户端在另外一台机器上用ab命令来完成,测试命令为: ab -c 900 -n 2000 http://tomcat1/test.jsp,最终的测试结果如下表所示(单位:平均每秒处理的请求数):
NIO HTTP POOL NIOP
281 65 208 365
666 66 110 398
692 65 66 263
256 63 94 459
440 67 145 363
由这五组数据不难看出,HTTP的性能是很稳定,但是也是最差的,而这种方式就是Tomcat的默认配置。NIO方式波动很大,但没有低于280 的,NIOP是在NIO的基础上加入线程池,可能是程序处理更复杂了,因此性能不见得比NIO强;而POOL方式则波动很大,测试期间和HTTP方式一样,不时有停滞。
由于linux的内核默认限制了最大打开文件数目是1024,因此此次并发数控制在900。
尽管这一个结果在实际的网站中因为各方面因素导致,可能差别没这么大,例如受限于数据库的性能等等的问题。但对我们在部署网站应用时还是具有参考价值的。
URIEncoding:url传参时的编码格式
useBodyEncodingForURI:根据相应该请求页面request.CharacterEncoding参数对数据进行重新编码
maxThreads:Tomcat可创建的最大的线程数
minSpareThreads:初始化创建的线程数
maxSpareThreads:一旦创建的线程超过这个数,Tomcat就将关闭不再需要的Socket线程
enableLookups:使用允许DNS查询,通常情况下设置为false,设置为false就直接返回ip地址
acceptCount:当所有可以使用的处理请求的线程树都被使用时,可以放到请求队列中的请求数,超过这个数的请求将不予处理。其实,该属性与ServerSocket(int port,int backlog)中的backlog参数意义相同,具体可参考ServerSocket的JDK API
connectionTimeout:网络连接超时,单位毫秒。设置为0表示永不超时
compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率惊人
1) compression="on" 打开压缩功能
2) compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为2KB
3) noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩
4) compressableMimeType="text/html,text/xml" 压缩类型
-Xmx:JVM堆最大值
MaxPermSize为永久对象(如jdbc驱动,各种随jvm启动时加载的jar包)占用内存数。
Xms 与 Xmx常规情况下应该设置成同样大小,否则会影响jvm性能。一般最大不超过2G。
转载于:https://blog.51cto.com/guoli0813/273230
兰蔻御用运维总结之一相关推荐
- 李逵遇上李鬼 2009中国IT运维第一案始末
回望2009,中国软件市场可谓狼烟四起.除了SAP.Oracle等老牌国际软件厂商深陷诸多丑闻外,国内IT运维行业更是爆出两厂商因抄袭事件而对簿公堂的消息. 随着天津摩卡软件与上海北塔软件纠纷的起起伏 ...
- Linux 运维常用命令 find、awk、sed、grep、vi、ps、lsof、rpm
先用一个脚本,模拟创建 14 个测试文件: #!/bin/bash for ((i=1;i<=10;i++)); do if [ $i -lt 3 ] thentouch /home/mysql ...
- 【运维学习笔记】运维入门
前言: 这几天过的很像第一年来提高班装系统那会儿,接触了很多新的东西,大量的东西塞在脑子里!今天系统的整理了一下! 时间 事件 1周 看一些硬件的结构,拆 了一些东西(发现其实硬件也没有很神奇,是一些 ...
- python实时读取日志并打印关键字怎么实现_面试宝典_Python.运维开发.0004.用Python实现tail实时输出新增日志?...
面试题目: 1. 用PYTHON实现tail -f功能,默认显示最后15行,实时输出新增行? 解题思路: 1. 此需求在很多场景中都有遇到,而且在各大群中也被讨论过,虽然有现成的模版如pyinotif ...
- mysql运维工资_MySQL运维踩坑
image ZERO 背景 本文主要是介绍在MySQL使用运维过程中所遇到的一些坑爹的地方,予自己以做记录! 前言 因操作系统重装之后,安装了mysql5.7,而由此带来了一系列的问题,现将解决这些m ...
- 一文运维zookeeper
文章目录 1. zookeeper生产环境的安装配置 1.1 软件配置 1.2 硬件配置 1.3 日志配置文件 1.4 配置三节点的zookeeper集群 2. zookeeper的监控方法 2.1 ...
- Linux运维跳槽必备的40道面试精华题
过一次年,结婚.存款.父母养老,一系列向钱看的事都在碾压我们本来还挺简单的神经,但难过没有出路,唯有找到好的方法和事业方向,才能实现一步一个脚印的逆袭. 下面是一名资深Linux运维求职数十家公司总结 ...
- Linux运维相关目录
Linux--相关运维配置文档目录 tcp 三次握手 yum 配置 你对linux了解多少,Linux 系统结构详解! Linux LAMP环境搭建 Centos6.7安装Apache2.4+Mysq ...
- 版电力系统故障录波_电力系统中的变电运维技术匹配专业中的应用
电力系统中变电运维产生故障的主要原因分为两点: (1)人为因素.在变电运维工作的过程中,变电运维人员是其中的主体,其专业素质和责任意识直接决定着变电运维工作的整体质量,目前部分变电运维人员的安全意识和 ...
最新文章
- 直击灵魂!统计学知识十问十答,你都会吗?
- 网络服务-RSYNC
- java如何实现连接wifi_java-是否可以检测到您要连接的WiFi类型?
- python可视化窗口编程-Python可视化界面编程入门
- [AtCoder Regular Contest 124E] Pass to Next(dp+数学)
- SD卡启动盘制作软件
- ofo败局中唯一赚到钱的只有他?当事人回应......
- 日志文件管理者:Logrotate
- java绩效考核方案,基于jsp的职工绩效考核系统-JavaEE实现职工绩效考核系统 - java项目源码...
- 视频教程-2020年软考系统分析师--案例分析真题精解视频课程-软考
- Ace Admin前端框架笔记一概要与布局介绍
- 内网穿透工具之NATAPP使用教程
- cad(2000坐标系)转kml
- 适合初中文凭学的计算机技术,初中毕业学啥技术好 最吃香的手艺
- JS逆向加密——AES加密解密
- linux命令sm,Linux系统命令和使用技巧8则
- 三月的雨季给我带来了希望
- 【转载】超简单集成HMS ML Kit 人脸检测实现可爱2D贴纸
- n-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter convertView
- 习题 11.1 将例11.1的程序片断补充和改写成一个完整、正确的程序,用公用继承方式。在程序中应包括输入数据的函数,在程序运行时输入num,name,sex,age,addr的值,程序应输出以上。。
热门文章
- 核心编程9 文件和文件的输入输出 (os模块)
- Mac中安装git后,终端运行git出错,提示安装Xcode
- jQuery遍历函数总结
- 安德鲁斯Launcher得到的装在手机的应用程序列表
- 0.0 环境搭建 - PyTorch学习笔记
- 2.6 Word2Vec-深度学习第五课《序列模型》-Stanford吴恩达教授
- 第八章 神经网络表示-机器学习老师板书-斯坦福吴恩达教授
- 1.1 欢迎-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授
- 【Android工具】更新WPS全功能正版授权无广告版
- lua编程简单实用入门教程,用NodeMCU在OLED上显示温湿度