序言
在陽西等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,外貿(mào)網(wǎng)站制作,陽西網(wǎng)站建設(shè)費(fèi)用合理。
JVM是Java Virtual Machine(Java虛擬機(jī))的縮寫,JVM是一種用于計(jì)算設(shè)備的規(guī)范,它是一個(gè)虛構(gòu)出來的計(jì)算機(jī),是通過在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來實(shí)現(xiàn)的。
引入Java語言虛擬機(jī)后,Java語言在不同平臺(tái)上運(yùn)行時(shí)不需要重新編譯。Java語言使用Java虛擬機(jī)屏蔽了與具體平臺(tái)相關(guān)的信息,使得Java語言編譯程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。
一、背景
使用JMeter對(duì)HTTP接口進(jìn)行壓力測(cè)試時(shí),響應(yīng)很慢。
二、定位問題思路
1、定位耗時(shí)的SQL
查看Druid Monitor
2、定位jvm參數(shù)
(1)查看linux服務(wù)器的配置信息
# Linux查看版本當(dāng)前操作系統(tǒng)內(nèi)核信息
uname -a
# Linux查看當(dāng)前操作系統(tǒng)版本信息
cat /proc/version
# Linux查看版本當(dāng)前操作系統(tǒng)發(fā)行版信息
cat /etc/issue 或 cat /etc/redhat-release
# Linux查看cpu相關(guān)信息,包括型號(hào)、主頻、內(nèi)核信息等
cat /proc/cpuinfo
# Linux查看版本說明當(dāng)前CPU運(yùn)行在32bit模式下, 但不代表CPU不支持64bit
getconf LONG_BIT
# 查看硬盤使用狀況
df -h
# 查看內(nèi)存使用狀況
free -m
14
(2)jvm的內(nèi)存使用情況
jps
jstat
jinfo
jmap
jhat
jstack
三、調(diào)優(yōu)思路
(1)MySQL
建立主鍵
建立索引
(2)tomcat中間件
調(diào)整server.xml的參數(shù),如配置-Xms4096M -Xmx4096M
# Register custom URL handlers
# Do this here so custom URL handles (specifically 'war:...') can be used in the security policy
JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Xms4096M -Xmx4096M"
1
2
3
(3)jvm
調(diào)整catalina.sh的Xmx和Xms
namePrefix="catalina-exec-"
maxThreads="300"
minSpareThreads="50"
maxIdleTime="60000"
prestartminSpareThreads = "true"
maxQueueSize = "100"
/>
port="8081"
protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="60000"
maxConnections="10000"
redirectPort="8443"
enableLookups="false"
acceptCount="100"
maxPostSize="10485760"
maxHttpHeaderSize="8192"
compression="on"
disableUploadTimeout="true"
compressionMinSize="2048"
acceptorThreadCount="2"
compressableMimeType="text/html,text/plain,text/css,application/javascript,application/json,application/x-font-ttf,application/x-font-otf,image/svg+xml,image/jpeg,image/png,image/gif,audio/mpeg,video/mp4"
URIEncoding="utf-8"
processorCache="20000"
tcpNoDelay="true"
connectionLinger="5"/>