網際網路公司的web架構經常使用到nginx + tomcat 的經典配組合,針對業務集群的運營過程中,偶爾會遇到tomcat 停止服務的情況,其引起的主要原因總結有以下一些:
tomcat程序不存在:
1.tomcat嚴重的記憶體溢位導致coredump
2.tomcat中使用到jni技術,jni**存在bug導致記憶體越界或非法訪問
tomcat程序存在:
1.tomcat堆溢位導致執行緒無法分配記憶體
2. 系統load 太高,已經超出服務的極限
3. 應用本身程式存在bug,造成死鎖,例如經典的hashmap執行緒不安全問題
4. 大量的tcp 連線,導致執行緒池執行緒消耗,拒絕服務,例如httpclient多執行緒情況下連線池超時問題
5. jvmgc 時間過長,導致應用暫停,此種情況比較少見,只有當jvm引數設定不太合理的情況才容易出現
廉價拒絕服務
我想各位一定有過這樣的經歷,當噴嚏就要一觸即發的時候,當你沐浴在火花的世界正要抓住乙個漂亮的靈感的時候,會突然跑出乙個人來拉著你討論問題或者向你發出乙個中斷請求。而這時你不得不暫停 那怕是半秒鐘 下來告訴他稍後訪問.而恰恰就在這個瞬間,先前的堆疊已經灰飛煙滅了 此時我們應該羨慕計算機的強勁堆疊機制。...
拒絕服務攻擊
dos denial of service 指拒絕服務,是一種常用來使伺服器或網路癱瘓的網路攻擊手段。在平時更多提到的是分布式拒絕服務 ddos,distributed denial of service 攻擊,該攻擊是指利用足夠數量的傀儡計算機產生數量巨大的攻擊資料報,對網路上的一台或多台目標實施...
拒絕服務攻擊 DOS)
拒絕服務攻擊 dos dos是denial of service的簡稱,即拒絕服務,造成dos的攻擊行為被稱為dos攻擊,其目的是使計算機或網路無法提供正常的服務。最常見的dos攻擊有計算機網路頻寬攻擊和連通性攻擊。頻寬攻擊指以極大的通訊量衝擊網路,使得所有可用網路資源都被消耗殆盡,最後導致合法的使...