zoukankan      html  css  js  c++  java
  • tomcat优化

    tomcat 优化相关

    1.怎么给tomcat调优

    • JVM参数调优:

    -Xms表示的是JVM初始堆的大小,-Xmx表示的的是JVM中堆的最大值。这两个通常要进行设置,当应用程序需要的内存超过堆的最大值时候,虚拟机会报内存溢出。
    堆的最大值应该设置为虚拟机可用最大内存的80%。具体文件在catalina.bat中,设置JAVA-OPTS = '-Xms256m-Xmx512m'。

    • 禁用DNS查询

    当web应用程序向要记录客户端的信息时候,它也会记录客户端的ip地址或者通过域名服务器查找机器转换为ip地址,DNS查询会占用网络,消耗时间,为了消除DNS查询对性能的影响,我们要关闭DNS查询,方式是修改Server.xml文件中的enableLookups参数为false;

    • 调整线程数

    tomcat4中可以修改minProcessors和maxProcessors的值进行控制线程数,这些在安装后就一定设置了默认值并且是足够使用的,但随着站点的扩容要改大这些值,但是这两个值都是有上限的,通常windows是2000个左右,Linux是1000个左右。
    tomcat5中改变了这些参数
    maxThreads:表示tomcat科创建的最大线程数。
    acceptCount:可以放在处理队列中的请求数,超过这个数的请求将不予处理。
    connection Timeout 网络连接超时,单位:毫秒。通常设置为30000毫秒
    minSpareThread Tomcat初始化时候创建的线程数
    maxSpareThreads 一旦创建的线程超过了这个值,Tomcat就会关闭不在需要Socket线程。
    最好的方式就是多设置几次进行测试,观察响应时间和内存的使用情况,不能一刀切的确定线程的数值

    • 去掉对web.xml的监视,把jsp提前编辑为servlet。有富余物理内存的情况,加大tomcat使用的jvm的北村
    • 服务器资源
      服务器所能提供的CPU,内存,硬盘的性能对处理能力有决定性的作用。
    • 利用缓存和压缩
      对于静态页面最好是能够缓存下来,这样就不必每次都从磁盘下读,这里我们可以采取nginx作为缓存服务器,将图片,css,js文件都进行缓存,减少对头端tomcat的访问,另外为了能加快网络传输速度,开启gzip压缩也是必不可少的。这个压缩交给前端的nginx进行完成。
    • 采用集群
      单个服务器的性能是有限的,最好的办法就是组建tomcat集群,我们采用Nginx来作为请求分流的服务器,后端多个tomcat共享session进行协同工作。
    【做一朵向日葵,面朝太阳,心纳阳光。心,只要有了充盈的阳光,就不再那么的冰;人,也就不再那么的冷;拥有了热度,心也跟着有了温度。】
  • 相关阅读:
    .NET Core+MySql+Nginx 容器化部署
    .NET Core容器化之多容器应用部署@Docker-Compose
    .NET Core容器化@Docker
    Hello Docker
    使用Bitbucket Pipeline进行.Net Core项目的自动构建、测试和部署
    一道面试题的思考
    ABP入门系列(21)——切换MySQL数据库
    爬取朋友圈,Get年度关键词
    一张图理清ASP.NET Core启动流程
    UnitOfWork知多少
  • 原文地址:https://www.cnblogs.com/walkingcamel/p/13596858.html
Copyright © 2011-2022 走看看