1.线程池
线程池线程资源大小确定了服务器的服务能力
默认大小不一定能满足生产环境
线程分配方式决定了服务器的资源利用效率
固定线程数处理多任务,
代表:
JDK的ThreadPoolExecutor
以最大的线程数为限处理多任务,代表:
jetty自带的QueuedThreadPool
$JETTY_HOME/etc/jetty.xml中的配置实例:
#######################################################################
<Set name="ThreadPool">
<!-- Default queued blocking threadpool -->
<New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
<Set name="minThreads">10</Set>
<Set name="maxThreads">200</Set>
<Set name="detailedDump">false</Set>
</New>
</Set>
########################################################################
默认最大的线程才200个,肯定不能满足我们的生产环境,建议范围500-900
2.JVM调优
JVM参数主要是堆/栈内存大小调整
-Xmx/xms 最大/最小堆大小
-xmn 新生代大小
-XX:MaxPermSize 持久代堆大小
Jetty $JETTY/start.ini 中的默认设置
###############################
# --exec
# -Dcom.sun.management.jmxremote
# -Dorg.eclipse.jetty.util.log.IGNORED=true
# -Dorg.eclipse.jetty.util.log.stderr.DEBUG=true
# -Dorg.eclipse.jetty.util.log.stderr.SOURCE=true
-Xmx2048m
-Xmn1024m
# -verbose:gc
# -XX:+PrintGCDateStamps
# -XX:+PrintGCTimeStamps