1. 查看是否配置JAVA_HOME
1. windows
计算机->属性->高级系统设置->环境变量->系统变量
1. 变量名:JAVA_HOME
变量值:jdk路径
2. 变量名:PATH
变量值:%JAVA_HOME%/bin;XXXX其他环境变量路径
2. linux
vi ~/.bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_121
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
source ~/.bash_profile
2. 检查tomcat是否配置JVM内存
1. windows: tomcat/bin/catalina.bat 在第109行添加
set "JAVA_OPTS=-server -Xms2048m -Xmx2048m -Xss1024K -XX:+UseConcMarkSweepGC -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:gc.log"
2. Linux: tomcat/bin/catalina.sh在第99行cygwin=false之前添加
JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xss1024K -XX:+UseConcMarkSweepGC -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:gc.log"
3. 检查tomcat并发连接数
修改tomcat/conf/server.xml>server>connnector>threads=2000
3. 查看日志级别
log4j.properties:info
logback.xml:info
4. 查看CPU使用率
1. windows
任务管理器->性能->cpu使用记录
2. linux
其中cpu:ur表示用户cpu% cpu:sy表示系统cpu% cpu:id表示空闲cpu%
[hadoop@slave1 ~]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 43052 1723428 142032 642716 0 0 64 138 8 42 1 0 98 0 0
0 0 43052 1723296 142032 642716 0 0 0 16 236 444 0 0 100 0 0
0 0 43052 1723288 142032 642716 0 0 0 0 154 326 0 0 100 0 0
1 0 43052 1723288 142032 642716 0 0 0 0 148 326 0 0 100 0 0
0 0 43052 1723288 142032 642716 0 0 0 0 171 383 0 0 100 0 0
0 0 43052 1723288 142032 642716 0 0 0 0 184 381 0 0 100 0 0
5. 查看cpu就绪队列长度
1. windows
typeperf -si 5 "\System\Processor Queue Length"
2. linux
其中r表示就绪队列长度
[hadoop@slave1 ~]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 43052 1723428 142032 642716 0 0 64 138 8 42 1 0 98 0 0
0 0 43052 1723296 142032 642716 0 0 0 16 236 444 0 0 100 0 0
0 0 43052 1723288 142032 642716 0 0 0 0 154 326 0 0 100 0 0
1 0 43052 1723288 142032 642716 0 0 0 0 148 326 0 0 100 0 0
0 0 43052 1723288 142032 642716 0 0 0 0 171 383 0 0 100 0 0
0 0 43052 1723288 142032 642716 0 0 0 0 184 381 0 0 100 0 0
6. 查看内存使用率
1. windows
任务管理器->性能->物理内存MB->总数|可用|空闲
保证物理内存使用率<75%
2. linux
查看物理内存
free -m
[hadoop@slave1 ~]$ free -m
total used free shared buffers cached
Mem: 3651 1968 1682 0 138 627
-/+ buffers/cache: 1201 2449
Swap: 4095 42 4053
[hadoop@slave1 ~]$
查看利用率:memory:free表示可用物理内存,swap:si 表示页换入 swap:so:表示页换出
保证swap:si=0 swap:so=0 memory:free有足够剩余
[hadoop@slave1 ~]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 43052 1723428 142032 642716 0 0 64 138 8 42 1 0 98 0 0
0 0 43052 1723296 142032 642716 0 0 0 16 236 444 0 0 100 0 0
0 0 43052 1723288 142032 642716 0 0 0 0 154 326 0 0 100 0 0
1 0 43052 1723288 142032 642716 0 0 0 0 148 326 0 0 100 0 0
0 0 43052 1723288 142032 642716 0 0 0 0 171 383 0 0 100 0 0
0 0 43052 1723288 142032 642716 0 0 0 0 184 381 0 0 100 0 0
7. 查看磁盘
1. windows
任务管理器->性能->资源监视器->磁盘
保证磁盘使用率<90%
2. linux
%util:表示磁盘使用率 avgqu-sz:表示磁盘队列长度
对于数据库服务器,可以考虑对磁盘电梯算法使用deadline
[hadoop@slave1 ~]$ iostat -kx 1
Linux 2.6.32-431.el6.x86_64 (slave1) 09/21/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.03 0.00 0.26 0.35 0.00 98.36
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.12 135.79 0.92 1.74 256.06 550.19 605.56 0.64 241.24 5.61 1.49
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.25 0.00 0.00 99.25
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
8. 查看网络
1. windows
任务管理器->性能->资源监视器->网络
确定带宽是否占满,是否可以将百兆网口换为千兆网口
2. linux
rxkb/s:表示每秒接收KB txkb/s:表示每秒发送KB
[hadoop@slave1 ~]$ sar -n DEV 1
Linux 2.6.32-431.el6.x86_64 (slave1) 09/21/2017 _x86_64_ (4 CPU)
11:20:18 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
11:20:19 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:20:19 AM eth0 9.90 6.93 0.99 0.85 0.00 0.00 0.00
11:20:19 AM pan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
9. 查看SQL
hibernate:打印sql
spring:
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.use_sql_comments">true</prop>
log4j:
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.logger.org.hibernate=debug
log4j.logger.org.hibernate.hql.ast.AST=debug
log4j.logger.org.hibernate.SQL=trace
log4j.logger.org.hibernate.type=trace
#above two configs
log4j.logger.org.hibernate.tool.hbm2ddl=debug
log4j.logger.org.hibernate.hql=debug
log4j.logger.org.hibernate.cache=debug
log4j.logger.org.hibernate.transaction=debug
log4j.logger.org.hibernate.jdbc=debug
log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
log4j.rootLogger=INFO, stdout
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
logback:
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE"/>
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="TRACE"/>
<logger name="org.hibernate.SQL" level="DEBUG"/>
<logger name="org.hibernate.engine.QueryParameters" level="DEBUG"/>
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG"/>
10. 数据库
1. mysql
检查innodb内存与慢查询日志
[mysqld]
skip-name-resolve
default_storage_engine=InnoDB
#innodb
innodb_buffer_pool_size=7G
innodb_log_file_size=2G
innodb_file_per_table=1
innodb_flush_method=O_DIRECT
#慢查询 2秒
long_query_time = 2
log-slow-queries = /usr/local/mysql/mysql-slow.log
2. oracle
使用awr
cd $ORACLE_HOME
sqlplus / as sysdba
SQL> @?/rdbms/admin/awrrpt.sql
格式:html
选择起始与结束快照号即可
查看最耗时的top5 sql语句进行优化
3. SQL优化
4. 查看执行计划
5. 建立合适索引