最近碰到乙個很蛋痛的問題,,我在公司的**上實現了乙個功能,然後基於這個測試,結果比對資料發現每天少三千多萬條,,
然後我各種優化,各種零碎部功能閹割,,還是丟資料!
之後,監控執行網絡卡----watch -n 1 "ifconfig eth2",,,發現網絡卡丟資料!
之後把修改之前的程式拿上來執行,發現網絡卡還丟!
之後檢視cpu的使用情況,top
發現有好多cpu被 cpuspeed 限速了,,,懷疑可能是我程式執行的時候選了乙個不常用的cpu,而這個cpu可能就是1.2ghz,,影響了程式處理頻率;
檢視cpu使用情況的方法:
1,top; 可以用 ps aux |grep *** 或者 pgrep *** ,,找出你所要查詢的程序號 之後 top -p 程序號 單獨檢視該程序的cpu 記憶體等使用情況;
你可以用 ps -elf |grep *** 來檢視程式執行所產生的執行緒情況; 也可以用 ps axms | grep ***;
2,mpstat;預設輸出所有cpu使用情況的平均值,用 mpstat -p all 命令檢視所有的cpu使用情況;
3,ps; 使用ps命令,可以很清楚的看出到底是哪一條程序在吃cpu.排在前面的占用的cpu越多, ps -eo pcpu,pid,user,args | sort -k 1 -r | head -20 顯示占用cpu最多的20個程序;
4,檢視當前程序下引數cpu的使用情況, cat /proc/cpuinfo ,羅列了所有cpu的使用情況,你也可以過濾裡邊的單獨引數,比如檢視所有cpu的頻率,cat /proc/cpuinfo | grep -i mhz;
5,vmstat 一般指令碼監控檔案時,用他與awk 命令配合使用(未驗證過)。
發現上邊這個情況後,馬上聯絡甲方處理。
處理方法: from:
1.物理伺服器bios做設定 關閉節能開啟最大cpu資源使用
做完該操作後,檢視cpu主頻仍然是1.2ghz
2.chkconfig --list |grep cpuspeed 發現該服務1,2,3,4,5級別均開機啟動
關閉該服務,並關閉開機啟動,解決該問題。
另外,cpu效能可能也還會與 irqbalance服務 有關。
補充:檢視某乙個程序內部當前執行的有多少執行緒,還有以下幾個方法值得一用。
1.根據程序號進行查詢:
# pstree -p 程序號
# top -hp 程序號
2.根據程序名字進行查詢:
# pstree -p `ps -e | grep server | awk ''`
# pstree -p `ps -e | grep server | awk ''` | wc -l
這裡利用了管道和命令替換,
關於命令替換,我也是今天才了解,就是說用``括起來的命令會優先執行,然後以其輸出作為其他命令的引數,
上述就是用 ps -e | grep server | awk '' 的輸出(程序號),作為 pstree -p 的引數
管道和命令替換的區別是:
管道:管道符號"|"左邊命令的輸出作為右邊命令的輸入
命令替換:將命令替換符"``"中命令的輸出作為其他命令相應位置的引數
BIOS 對伺服器效能的影響
節能在降低能耗的同時也意味著效能的下降。下面介紹的是在 bios 這個層面涉及到的一些節能開關,比較具有通用性。1.turbo boost 跟超頻有關,詳細的請看這裡。2.c1e,c state hardwaresecrets 有一篇介紹 cx state 的文件,比 wiki 上的介紹的更詳細。3...
伺服器的效能
伺服器要提供服務,效能是十分關鍵的問題,但是究竟伺服器應該跑多快,完全由應用決定的,我不贊成一味的追求效能。對於效能的問題,可以通過分布應用得到解決。主要的網路應用的負載分擔方式有dns和nat兩用主要方式。webfarme就是乙個使用nat進行負載分擔的典型應用。其他一些服務的群集方案也是值得借鑑...
資料庫索引對伺服器效能的影響
5月6日 5月15日期間因投票活動的開展,此次活動給 帶來了前所未有的訪問量,由於投票系統防作弊措施的不健全,造成了大量使用者使用切換ip刷票軟體,再加上惡意使用者時而對 傳送大量cc攻擊,的硬體服務架構與應用程式的設計面臨了巨大的挑戰,硬體服務架構總體表現比較良好,伺服器方面採用前端反向 伺服器 ...