zoukankan      html  css  js  c++  java
  • tomcat 线程数、NIO配置、内存配置

    线程数量;
    server.xml

    <Connector port="8080"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    debug="0" connectionTimeout="20000"
    disableUploadTimeout="true" />

    minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
    maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
    acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
    enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
    connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
    acceptCount的配置,我一般是设置的跟maxThreads一样大,这个值应该是主要根据应用的访问峰值与平均值来权衡配置的。
    如果设的较小,可以保证接受的请求较快相应,但是超出的请求可能就直接被拒绝
    如果设的较大,可能就会出现大量的请求超时的情况,因为我们系统的处理能力是一定的。
    下面是默认:
    <Connector port="9000" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />
    参考:
    内存大小;
    catalina.sh
    JAVA_OPTS="-server -Xms384m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=1024m"

    -Xmx512m:设置JVM最大可用内存为512M;
    -Xms512m:设置JVM启动时堆的初始化大小。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存
    上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。

    -XX:PermSize:设定内存的永久保存区域
    -XX:MaxPermSize:设定最大内存的永久保存区域
    -XX:MaxNewSize:
    -XX:PermSize=64M /-XX:MaxPermSize=64M : 方法区,永久区大小设置。JVM初始分配的非对内存64M。永久区保存系统的类信息。比如类的字段、方法、常量池等如果系统定义了太多的累,导致方法区溢出,虚拟机同样会抛出内存溢出错误

    JDK8+移除了Perm,引入了Metapsace元数据区,元数据库区的大小可以使用-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m 指定。这是一块堆外的直接内存。与永久区不同,如果不指定大小,默认情况下,虚拟机会耗尽所有的可用系统内存


    参考:https://www.cnblogs.com/sucretan2010/p/11046634.html
    NIO协议:
    tomcat8以上默认是NIO和APR中切换,APR需要额外配置;

    www.beicaiduo.com
  • 相关阅读:
    WinService12r2系统加固-3389端口与端口安全
    WinService12r2系统加固-账户管理与服务安全
    渗透测试常用工具-stunnel内网穿透
    渗透测试常用工具-ptunnel内网穿透
    报错注入函数
    常见绕过disable_function(抄录)linux系统。windows系统大概只有com组件
    nmap(抄录)
    php回调木马
    NoSql注入小测试。
    日志:记一次网页篡改(从开始到质保)一个渗透工作者的工作之路
  • 原文地址:https://www.cnblogs.com/hoge66/p/12601271.html
Copyright © 2011-2022 走看看