java tomcat mysql架构_JAVA架构师之深入MySql,Nginx,Tomcat,JVM性能调优

一、背景

使用JMeter对HTTP接口进行压力测试时,响应很慢。

二、定位问题思路

1、定位耗时的SQL

查看Druid Monitor

2、定位jvm参数

(1)查看linux服务器的配置信息

# Linux查看版本当前操作系统内核信息

uname -a

# Linux查看当前操作系统版本信息

cat /proc/version

# Linux查看版本当前操作系统发行版信息

cat /etc/issue 或 cat /etc/redhat-release

# Linux查看cpu相关信息,包括型号、主频、内核信息等

cat /proc/cpuinfo

# Linux查看版本说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit

getconf LONG_BIT

# 查看硬盘使用状况

df -h

# 查看内存使用状况

free -m

1

2

3

4

5

6

7

8

9

10

11

12

13

14

(2)jvm的内存使用情况

jps

jstat

jinfo

jmap

jhat

jstack

1

2

3

4

5

6

三、调优思路

(1)mysql

建立主键

建立索引

(2)tomcat中间件

调整server.xml的参数,如配置-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

调整catalina.sh的Xmx和Xms

name="tomcatThreadPool"

namePrefix="catalina-exec-"

maxThreads="300"

minSpareThreads="50"

maxIdleTime="60000"

prestartminSpareThreads = "true"

maxQueueSize = "100"

/>

executor="tomcatThreadPool"

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"/>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

(4)代码

for循环

大对象

sql语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值