1. 程式人生 > >Apache流量猛增,併發過高導致問題的處理解決方案

Apache流量猛增,併發過高導致問題的處理解決方案

近期處理了幾個因為流量猛增,併發過高導致的問題。
下面說一下這樣問題的處理解決方案。
 
首先問題都是客戶提出網站訪問過慢,或者是直接打不開。
遇到這樣的問題,查詢過程如下:
1,詢問客戶是否上了投票,檢視app域名的訪問日誌,檢視每秒訪問是否過多。
2,top檢視伺服器負載,發現httpd程序很多,但是負載記憶體都很低。
3,netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'   檢視連線數,發現TIME_WAIT幾千,說明是併發很高,處理不完導致的超時很多。
4,開啟apache的status檢視當前狀態,開啟方法如下:
apache:
修改httpd.conf,增加如下配置,
ExtendedStatus On

  SetHandler server-status
  Order deny,allow
  Deny from all
  Allow from all
  # Allow from 60.195.249.83
修改過apache的配置檔案後,重啟服務,瀏覽器開啟http://伺服器IP/server-status  。
上面連結的裡面的返回的資訊都很直觀,apache的有執行時間,成功處理總數,流量,每秒處理數,每秒流量等資訊。
開啟連結發現1分鐘成功處理了1W的請求,說明併發很高,問題明顯是伺服器處理不過來,嘗試調整apache的程序數。
 

        StartServers       6
        MinSpareServers    6
        MaxSpareServers    12
        ServerLimit      256
        MaxClients       256
        MaxRequestsPerChild  5000

 
修改ServerLimit與MaxClients,我們部署的系統預設為256,可以嘗試調高該引數,引數越高,伺服器的負載會越高,但是併發處理的能力越強。謹慎調整,防止宕機。
今天處理的問題,是24核64G記憶體,我把兩個值都調整到了1024,這樣每秒大約可以處理800併發以上,但是伺服器的負載在4左右,網站訪問也正常了,至此,問題解決。
另外,伺服器的cpu負載理論峰值應當與CPU核數相同,即4核負載4,8核負載8,如果超過這個負載,伺服器就會有掛掉的風險哦。

相關推薦

Apache流量猛增,併發導致問題的處理解決方案

近期處理了幾個因為流量猛增,併發過高導致的問題。 下面說一下這樣問題的處理解決方案。   首先問題都是客戶提出網站訪問過慢,或者是直接打不開。 遇到這樣的問題,查詢過程如下: 1,詢問客戶是否上了投票,檢視app域名的訪問日誌,檢視每秒訪問是否過多。 2,top檢視伺

cocos2d-x場景切換時記憶體導致crash 解決方法

最近在做一個cocos2d-x的專案時,遇到一個問題,就是在pc上執行都是ok的,可是在ipad和andriod上面,在場景切換時時常會掛掉,用蘋果自帶的Instruments工具檢測時,發現在場景正常執行時,記憶體大概保持在三四十兆,但是在場景切換時,一瞬間會達到七八十兆,遇到一些素材比較多或者層

[zz]存大量被佔用(kswap程序CPU利用率)的解決方案

 問題描述:      通過free檢視時,大概有一半以上的實體記憶體分配到cache裡面,這樣大的     cache是造成記憶體的耗盡緣由,與此同時使用top或ps檢視程序時,kswapd程序負荷     很高,一般在90%以上,kswapd程序的作用是用於記憶

文件系統inodes使用率問題處理

所有 郵件 傳輸 crond 文件 顯示 pool --delete 避免 運維過程中經常碰見文件系統inodes使用率過高導致文件系統不可寫的問題,常見場景如下 1、Oracle產生的審計文件,特別是DG備庫或者審計設置為OS時 2、crontab產生大量郵件,導致/v

解決mysql版本導致group by的問題

執行如下兩條sql語句 set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';s

android版本導致下載軟體後無法自動安裝

安卓6.0以上可能會出現後臺下載軟體後無法自動安裝。 原因是:6.0以上的系統獲取到手機路徑不對,所以系統找不到下載後的軟體 解決方法:1.在配置檔案AndroidManifest.xml中的節點下加入如下程式碼 <provider

Oracle 佔用cpu處理辦法

問題描述: 今天上午10點多,公司網路斷了一會,過了大約十來分鐘,網工處理好了,可資料庫這下子可撐不住了,開啟linux top查看了一下CPU百分百了,這可能是因為緩衝在客戶端的資料一下子全傳上來了導致資料庫壓力過大,可以前沒有出現過這種問題,於是進行了分析和處理,以下為

研究 大流量併發網站的驗證碼解決方案

最近不知道怎麼的,總是喜歡研究一些大型站點的一些功能的實現,這兩天看了下幾個大型站的驗證碼的實現,覺得有點意思。 於是在.Net下也實現了一套類似的機制。我們先來看看這幾個站的驗證碼功能的外在表現: 看QQ的,網站上有驗證的地方都可以看的到,我這裡提供個地址:http://pay.qq.com/login.s

Oracle CPU使用率問題處理

1.下載Process Explorer 2.開啟Process Explorer,檢視CPU使用情況最高的程序 3.雙擊該程序,檢視詳情 \ 4.    獲取cpu使用最好的執行緒tid 5.    查詢sql_id select sql_id from v$sessi

Mysql主從延遲導致的case

昨天同事遇到了一個線上case,主要現象是部分使用者下單成功,但是卻查不到訂單詳情資訊,追蹤到訂單表裡,發現部分訂單並沒有更新狀態。 排查: 使用者下單的後臺服務邏輯最近並未做改動,分析報警日誌發現,在下午四點到五點之間有部分空指標異常,定位到程式碼如下:

java web伺服器cpu佔用處理

平時專案中有時遇到cpu過高的情況,在此基於自己有限的經驗寫個分享,此處的伺服器都是基於linux平臺。 cpu的佔有執行緒型別總的來說分為兩種: us :使用者空間佔用CPU百分比 sy :核心空間佔用CPU百分比 一般來講CPU us高的解決方法: CPU us

Web大規模併發請求和搶購的解決方案

電商的秒殺和搶購,對我們來說,都不是一個陌生的東西。然而,從技術的角度來說,這對於Web系統是一個巨大的考驗。當一個Web系統,在一秒鐘內收到數以萬計甚至更多請求時,系統的優化和穩定至關重要。這次我們會關注秒殺和搶購的技術實現和優化,同時,從技術層面揭開,為什麼我們總是不容易搶到火車票的原因

深入理解併發下分散式事務的解決方案

1、什麼是分散式事務 分散式事務就是指事務的參與者、支援事務的伺服器、資源伺服器以及事務管理器分別位於不同的分散式系統的不同節點之上。以上是百度百科的解釋,簡單的說,就是一次大的操作由不同的小操作組成,這些小的操作分佈在不同的伺服器上,且屬於不同的應用,分散式事務需要保證這

併發的詳解及解決方案

一、什麼是高併發 高併發(High Concurrency)是網際網路分散式系統架構設計中必須考慮的因素之一,它通常是指,通過設計保證系統能夠同時並行處理很多請求。   高併發相關常用的一些指標有響應時間(Response Time),吞吐量(Throughput),每秒查詢率QPS(Quer

使用Redis搶紅包併發出現connection refused的解決方案

最近使用redis佇列實現搶紅包,在使用jmeter測試時發現1000個執行緒0s併發搶紅包出現connect refused錯誤,但是500個10s就正常。原始碼如下 private static void initialPool() { try {

Apache shiro叢集實現 (六)分散式集群系統下的可用session解決方案---Session共享

      Apache Shiro的基本配置和構成這裡就不詳細說明了,其官網有說明文件,這裡僅僅說明叢集的解決方案,詳細配置:shiro web config     Apache Shiro叢集要解決2個問題,一個是session的共享問題,一個是授權

深入理解分散式事務,併發下分散式事務的解決方案

1、什麼是分散式事務 分散式事務就是指事務的參與者、支援事務的伺服器、資源伺服器以及事務管理器分別位於不同的分散式系統的不同節點之上。以上是百度百科的解釋,簡單的說,就是一次大的操作由不同的小操作組成,這些小的操作分佈在不同的伺服器上,且屬於不同的應用,分散式事務需要保證這

JAVA中高訪問量併發的問題的一部分解決方案

個人見解,希望大家多多提出意見 1.儘量使用快取技術來做。使用者快取、頁面快取等一切快取,使用特定的機制進行重新整理。利用消耗記憶體空間來換取使用者的效率。同時減少資料庫的訪問次數。 2.把資料庫的查詢語句進行優化,一般複雜的SQL語句就不要使用ORM框架自帶的做法

C#進階系列——WebApi 異常處理解決方案(轉)

機制 輸出 ges 如果 但是 rom lba slist 解決 出處:http://www.cnblogs.com/landeanfen/p/5363846.html 閱讀目錄 一、使用異常篩選器捕獲所有異常 二、HttpResponseException自

Disruptor——一種可替代有界隊列完成並發線程間數據交換的性能解決方案

top ogl align 來講 好處 文件 最優化 什麽 內存碎片   本文翻譯自LMAX關於Disruptor的論文,同時加上一些自己的理解和標註。Disruptor是一個高效的線程間交換數據的基礎組件,它使用柵欄(barrier)+序號(Sequencing)機制協