網頁訪問緩慢的問題

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. 建立合適索引
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章