JavaWeb應用常見故障以及處理方法

服務器架構爲:css

Nginx+resin+memcached+db
nginx

1、故障緣由服務器

一、服務器負載高架構

(1)訪問量突增memcached

(2)代碼邏輯問題線程

(3)部分服務失效(ATS,DB,MC......)xml

PS:Linux服務器負載通常在2如下。接口

二、Direct Buffer Memory內存

Direct Buffer Memory指本地應用與MC通信區域(本地緩衝區),若MC塊設置過大,GC不能及時回收。開發

三、大量靜態文件佔用resin線程

Resin線程通常爲256

四、JVM配置過大,GC時間長,致使線程堵塞

通常應用JVM配置2~2.5G內存,大的應用配置爲3G,小的應用配置爲1.5G


2、措施

一、分離靜態文件

js,css,image,xml....這類文件直接經過nginx進行跳轉,不佔用resin線程

二、訪問量高的頁面和接口根據業務需求適當靜態化,如使用nginxPeoxyCache或者Ats(Apache Traffic Server)下降resin佔用線程數

client--->ATS--->Nginx--->NginxProxyCache--->Memcached--->Db

三、切忌MC塊設置過大,或者大量XML文件讀取。

四、注意代碼質量(開發規範)

五、JVM設置中,Xms,Xmx不要設置過大,Xmm設置通常爲Xmx/Xms的1/3.

相關文章
相關標籤/搜索