LoaRunner性能测试系统学习教程:Tomcat配置( 二 )
DNS查找
如果web应用服务器需要获得客户端的日志信息 , 那么通常有两种方式:
- 是记录客户端机器的IP地址;
- 是在DNS中查找客户端主机名信息;
port="8080"minProcessors="5"maxProcessors="75"
enableLookups="true"redirectPort="8443"
acceptCount="10"debug="0"connectionTimeout="20000"
useURIValidationHack="false"
/>
如果需要关闭DNS查找 , 那么将该选项设置为“false” 。 除非需要指定一个完整的主机名去访问网站 , 否则都需要将该选项设置为“false” , 这样不但可以节约带宽、查找时间和内存 。 当然对于低流量的网站 , 这个设置项可能不会有明显的效果 , 但是不能排除它某天变成了一个高流量的网站 。
JSP编译
在一个JSP页面第一次被访问时 , 它需要转换为Javaservlet源码 , 并且编译在JAVA字节码 , 而当许多不同用户同时访问JSP页面时 , 服务器可能会被处于一种高负载状态 , 所以应该改善网站对JSP页面的处理方法 , 进而优化JSP的性能 。
Tomcat如何处理JSP页面
JSP是Javaservlet代码与HTML标记的组合 , Tomcat处理JSP是使用一个称为Jasper2的引擎 , 该引擎包括各种处理和解析JSP的组件 , 以及JSP的编译器 。 在一个JSP页面第一次被访问时 , Jasper引擎会将源码转换为Javaservlet源码 , 并且使用JAVA编译器将其编译成JAVA字节码 。
审核动态内容
JSP性能改进的第一步是采取分析网站的结构、预期负载和JSP页面需要实现的功能 , 如果创建的网站中混杂着动态和静态 , 当网站可以完成定期更新静态内容时 , 那么应该是动态处理结束后才多地去处理静态内容 , 例如网站的标题 , 这是一个动态的内容 , 但是一天可能才处理一两次 。
现在解决动态审核问题不完全是使用 , 现在有一些开源于JAVA模板来解决这个问题(如Velocity或Freemarker) , 在未来可能会成为一个新的功能 。
JSP预编译技术
当服务器运行JSP页面时服务器会使用最大的性能来编译JSP页面 , 如果缓解这一问题 , 一般会对JSP进行预编译操作 , 而不是等运行时才进行实时的编译 。 通常有以下三种预编译的方法来提高系统的性能 。
第一:使用请求进行预编译
预编译的一次最简单的方法是 , 在发送请求的过程中进行预编译 , 因为在第一次发送请求时 , JSP会自动进行编译 , 这样在第一个真实的用户访问该JSP页面时就不需要再编译了 , 如果只少数JSP页面 , 并且不需要频繁的启动服务器 , 这样可以在服务器启动时 , 使用一个小脚本自动爬行所有的JSP页面 , 这样可以大大的提高性能 。 这个方法在开发过程中很有用 , 因为这种方法可以查找是哪些用户第一时间访问JSP页面 , 并且可以纠正一些错误 。
第二:启动时进行预编译
JAVA中有一个Javaservlet的模块 , 它包括JSP指定的一些功能和语法元素 , 这些语法在Web应用程序启动时会指定JSP进行编译 , 在“WEB-INF/web.xml”文件中可以对JSP进行预编译设置 , 如以下实例:
YourJSP.jsp
整数“1”是用来指定编译序顺的 , 所以可以为预编译创建一个层次结构 , 这样可以消除第一个用户访问预编译页面的时间延迟 , 降低web程序重启的所需要的资源 。
第三:在编译过程中进行预编译
在编译过程中进行预编译是指在构建Web应用程序时 , 使用JspC进行预编译JSP代码 , 而不是在Tomcat服务器上进行动态编译 , 在一些情况中下这种技术可以提高4%的系统性能 。
JSP最佳实践
前面介绍了通过修改Tomcat配置文件来提高JSP性能 , 而遵守一些编码规则也可以提高JSP的性能 , 通常有两种方法:高效缓存和对象控制 。
第一:在代码中如何有效提高JSP原始的缓存数据可以有效的提高性能 , 即如何有效的利用缓存中的数据或如何高效使用缓存方法来处理数据 。
第二:目标控制 , 主要包括会话长度/范围、线程池配置和缓存区大小 。
- 巅峰|realme巅峰之作:120Hz+陶瓷机身+5000mAh 做到了颜值与性能并存
- 华为|骁龙870和骁龙855区别都是7nm芯片吗 性能对比评测
- 器件|苏州纳米所等在高性能柔性储能器件研究中取得进展
- 超强|RedmiNote9系列发布!天玑800U赋予超强5G性能
- iPhoneX|iPhone12和iPhoneX性能对决:差距比想象的大太多
- Redmi|Redmi Note 9系列发布,搭载天玑800U具备超强5G性能
- 首发|华为或首发联发科6纳米+A78新U:性能超强不输麒麟9000
- 华为|安兔兔10月安卓性能榜:华为Mate40 Pro第一 麒麟9000碾压骁龙865
- 骁龙865|5G手机中的性能怪兽,256+120W闪充,比iPhone12值得买
- 网间|新外观专利陆续曝光 徐起和网间透露realme极致性能新机将至