專利名稱:一種用于計(jì)算機(jī)性能自調(diào)系統(tǒng)的設(shè)計(jì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,具體地說是ー種用于計(jì)算機(jī)性能自調(diào)系統(tǒng)的設(shè)計(jì)。
背景技術(shù):
在當(dāng)今社會(huì),信息化蓬勃發(fā)展,云計(jì)算越來越被社會(huì)各界接受,并逐漸推廣。而云計(jì)算最為核心的ー個(gè)環(huán)節(jié)就是大型數(shù)據(jù)中心或者超算中心。因?yàn)檫@些數(shù)據(jù)中心或超算中心將被大量的客戶進(jìn)行訪問,這些訪問的請(qǐng)求也是各種各樣,有的需要讀取數(shù)據(jù),有的需要寫入數(shù)據(jù),而有的有需要這些中心提供相應(yīng)的計(jì)算。這些各種各樣的訪問請(qǐng)求對(duì)計(jì)算機(jī)的性能要求的偏向也不同,比如寫操作比較多,就需要系統(tǒng)對(duì)寫的IO調(diào)度優(yōu)先級(jí)提高,臟頁比例進(jìn)行適當(dāng)調(diào)整。計(jì)算壓力大的時(shí)候,需要cpu,內(nèi)存進(jìn)行調(diào)優(yōu),有的時(shí)候還需要更換cpu??傊畬?duì)于大型超算中心需要面對(duì)各種各樣的用戶訪問請(qǐng)求,這些訪問所需要的性能要求也不同,而其造成的壓カ也會(huì)是各方面的,產(chǎn)生的壓カ的瓶頸也可能由于請(qǐng)求的不同,瓶頸位置也不同,與性能相關(guān)的參數(shù)初始設(shè)定值不一定能滿足所需要的各種應(yīng)用。針對(duì)上面的問題,就會(huì)涉及到一個(gè)無法逃避的問題——系統(tǒng)調(diào)優(yōu)。系統(tǒng)調(diào)優(yōu)需要解決的最主要的問題就是通過調(diào)整系統(tǒng)的某些參數(shù)是系統(tǒng)在響應(yīng)相關(guān)請(qǐng)求的時(shí)候達(dá)到最佳的性能,以便系統(tǒng)更好的響應(yīng)客戶需求。但是系統(tǒng)如何調(diào)優(yōu),每一臺(tái)機(jī)器都需要調(diào)優(yōu),而且每一臺(tái)機(jī)器系統(tǒng)調(diào)優(yōu)也不是一次調(diào)好了就完事了,因?yàn)檎{(diào)好了,當(dāng)系統(tǒng)如果在另ー個(gè)時(shí)段要響應(yīng)其他的ー些訪問請(qǐng)求,而這些訪問請(qǐng)求與先前用戶請(qǐng)求所對(duì)系統(tǒng)帶來的壓カ是不同的,因此對(duì)于大型計(jì)算中心會(huì)面臨ー個(gè)問題,同一臺(tái)機(jī)器需要經(jīng)過多次調(diào)優(yōu),然而計(jì)算中心里面的計(jì)算設(shè)備非常的多,所有的設(shè)備都有可能需要調(diào)優(yōu),這樣如果使用人エ去調(diào)優(yōu)的話,將會(huì)耗費(fèi)巨大的人力,而且速度非常的慢。因此對(duì)于大型計(jì)算中心,如果能使用計(jì)算設(shè)備自動(dòng)調(diào)優(yōu)系統(tǒng),那樣就可以省去巨大的人力,也能使計(jì)算中心的服務(wù)更好。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是解決現(xiàn)有技術(shù)的不足,提供一種用于計(jì)算機(jī)性能自調(diào)系統(tǒng)的設(shè)計(jì)。本發(fā)明的技術(shù)方案是按以下方式實(shí)現(xiàn)的,包括以下模塊:一、系統(tǒng)性能監(jiān)控某塊;ニ、調(diào)優(yōu)啟動(dòng)判斷模塊;三、調(diào)優(yōu)自動(dòng)化模塊;四、建議及設(shè)置系統(tǒng),其中:
一、系統(tǒng)性能監(jiān)控模塊:
用于對(duì)系統(tǒng)的各個(gè)部分是否造成系統(tǒng)的瓶頸進(jìn)行監(jiān)控,監(jiān)控內(nèi)容包括:網(wǎng)絡(luò)忙碌程度,cpu運(yùn)行情況,內(nèi)存使用情況,磁盤IO情況,各個(gè)進(jìn)程的cpu占用情況,各個(gè)進(jìn)程的cpu使用情況,進(jìn)程的IO速度情況;監(jiān)控步驟如下:
1)要對(duì)系統(tǒng)進(jìn)行調(diào)優(yōu),首先需要確定系統(tǒng)運(yùn)行的瓶頸在什么地方,因此需要建立系統(tǒng)運(yùn)行各參數(shù)的閾值列表;
2)性能瓶頸判斷,根據(jù)系統(tǒng)監(jiān)控的ー些工具監(jiān)控的結(jié)果,對(duì)系統(tǒng)的各個(gè)參數(shù)依據(jù)參數(shù)閾值列表進(jìn)行診斷,判斷該參數(shù)是否惡化,診斷的時(shí)候,監(jiān)控工具監(jiān)控到的參數(shù)會(huì)有波動(dòng),不能因?yàn)橄到y(tǒng)監(jiān)控到的參數(shù)ー超過閾值就認(rèn)為該參數(shù)就已經(jīng)惡化,判斷該參數(shù)惡化,是根據(jù)參數(shù)超出閾值累計(jì)的時(shí)間;
3)對(duì)于監(jiān)控到的數(shù)據(jù)應(yīng)該規(guī)劃ー個(gè)時(shí)間窗ロ,對(duì)于各個(gè)參數(shù)時(shí)間窗ロ的大小允許不一祥,每當(dāng)獲取到新的監(jiān)控?cái)?shù)據(jù),都把該數(shù)據(jù)放入該窗ロ中,并把該窗ロ中最老的數(shù)據(jù)替換掉,如果窗口中數(shù)據(jù)都超出了閾值規(guī)定的累計(jì)的時(shí)間,則認(rèn)為該參數(shù)已經(jīng)惡化,并把診斷結(jié)果調(diào)優(yōu)啟動(dòng)判斷模塊傳遞;
ニ、調(diào)優(yōu)啟動(dòng)判斷模塊:
調(diào)優(yōu)啟動(dòng)模塊,用于判斷調(diào)優(yōu)工作是否需要啟動(dòng),啟動(dòng)的依據(jù)是根據(jù)上面監(jiān)控模塊傳遞過來的惡化的參數(shù),在某個(gè)模塊出現(xiàn)問題時(shí),會(huì)有多個(gè)參數(shù)都出現(xiàn)惡化的情況,有時(shí)單ー的參數(shù)惡化就能判斷出瓶頸,而有時(shí)單ー的參數(shù)又未必出現(xiàn)瓶頸,因此,調(diào)優(yōu)啟動(dòng)模塊需要對(duì)監(jiān)控模塊傳遞過來的參數(shù)惡化情況做ー個(gè)綜合評(píng)判,以便確定導(dǎo)致參數(shù)惡化情況是否有瓶頸存在,分析到底是哪些模塊出現(xiàn)了瓶頸;
三、調(diào)優(yōu)自動(dòng)化模塊:
調(diào)優(yōu)自動(dòng)化模塊,用于對(duì)上面的模塊傳遞過來的瓶頸類型相關(guān)的內(nèi)核參數(shù)進(jìn)行調(diào)整,并把調(diào)整以后的監(jiān)控的參數(shù)與調(diào)優(yōu)啟動(dòng)模塊傳來的監(jiān)控參數(shù)進(jìn)行對(duì)比,以便確定調(diào)優(yōu)的效果,如果監(jiān)控到的監(jiān)控參數(shù)比上面模塊傳遞過來的情況更加惡化,則正在調(diào)優(yōu)的內(nèi)核參數(shù)的值應(yīng)該向反方向調(diào)整,如果向反方向調(diào)整后,監(jiān)控參數(shù)依然更加惡化,這時(shí)應(yīng)該調(diào)整其他參數(shù),直到與該瓶頸的監(jiān)控參數(shù)進(jìn)入正常范圍,如果所有與該瓶頸相關(guān)的內(nèi)核參數(shù)都進(jìn)行了調(diào)整,但是仍然不能使監(jiān)控參數(shù)進(jìn)入正常范圍,這就需要升級(jí)該模塊硬件或者更新模塊軟件;
四、建議和設(shè)置模塊
該模塊用于相關(guān)日志的記錄和調(diào)優(yōu)出現(xiàn)失敗的時(shí)候向管理員提出相關(guān)建議,以及修改監(jiān)控參數(shù)的惡化閾值列表,監(jiān)控的參數(shù)與模塊的瓶頸關(guān)系列表,模塊與內(nèi)核參數(shù)關(guān)系圖的接ロ,該模塊還能對(duì)自動(dòng)調(diào)優(yōu)系統(tǒng)是否啟動(dòng)及管理員郵箱相關(guān)信息進(jìn)行設(shè)置;如果調(diào)優(yōu)成功,在日志當(dāng)中記錄對(duì)那個(gè)模塊進(jìn)行了調(diào)優(yōu),并記錄調(diào)優(yōu)成功消息,如果沒有調(diào)優(yōu)成功需要向管理員發(fā)送郵件,在郵件中說明對(duì)那些參數(shù)進(jìn)行了調(diào)整,是否有模塊老化,是否需要進(jìn)行相關(guān)升級(jí),以及機(jī)器的hostname,ip信息,以便管理員做下一歩工作。對(duì)于是否需要啟動(dòng)調(diào)優(yōu)啟動(dòng)判斷模塊,還需要對(duì)判斷出來的瓶頸經(jīng)過一定時(shí)間的積累,因?yàn)闀r(shí)間很短就進(jìn)行調(diào)優(yōu),會(huì)很容易導(dǎo)致系統(tǒng)頻繁調(diào)優(yōu),這將引起系統(tǒng)的不穩(wěn),如果產(chǎn)生的瓶頸時(shí)間比較長了,達(dá)到預(yù)先設(shè)定的瓶頸積累時(shí)間,則應(yīng)該啟動(dòng)調(diào)優(yōu),并把啟動(dòng)調(diào)優(yōu)相關(guān)命令下達(dá)給調(diào)優(yōu)自動(dòng)化模塊,下達(dá)調(diào)優(yōu)命令的時(shí)候,需要同時(shí)把具體是出現(xiàn)的什么瓶頸,以及判斷出瓶頸的監(jiān)控參數(shù)狀況ー并下傳給調(diào)優(yōu)自動(dòng)化模塊。對(duì)于調(diào)優(yōu)自動(dòng)化模塊的關(guān)鍵點(diǎn)是在某模塊瓶頸與相關(guān)內(nèi)核參數(shù)的對(duì)應(yīng)關(guān)系的建立,也就是有哪些內(nèi)核參數(shù)會(huì)影響該模塊的性能,通過調(diào)整內(nèi)核參數(shù)和應(yīng)用方面的參數(shù)設(shè)置,達(dá)到調(diào)優(yōu)的目的,這樣就能建立網(wǎng)絡(luò)模塊與這些參數(shù)的關(guān)系圖.在進(jìn)行調(diào)優(yōu)的時(shí)候,通過遍歷與網(wǎng)絡(luò)模塊相關(guān)的參數(shù),對(duì)這些參數(shù)的值進(jìn)行修改,以便達(dá)到改善網(wǎng)絡(luò)環(huán)境的目的,當(dāng)然在遍歷修改的時(shí)候需要進(jìn)行智能相關(guān)的控制,對(duì)于其他模塊也能建立模塊與相關(guān)內(nèi)核參數(shù)的關(guān)系圖,當(dāng)某模塊產(chǎn)生瓶頸,對(duì)與它相關(guān)的內(nèi)核參數(shù)進(jìn)行遍歷調(diào)整,最后達(dá)到改善模塊工作性能的目的。在進(jìn)行內(nèi)核參數(shù)進(jìn)行修改之前,需要修改的參數(shù)之前的值進(jìn)行保存,以便一旦調(diào)優(yōu)失敗的時(shí)候,恢復(fù)這些參數(shù),讓系統(tǒng)再次調(diào)優(yōu)時(shí)從該原先參數(shù)進(jìn)行調(diào)整,如果調(diào)優(yōu)完成了,不管成功還是不成功,都需要向建議和設(shè)置模塊傳遞相關(guān)信息,如果成功,向建議和設(shè)置模塊發(fā)送調(diào)優(yōu)成功消息,如果不成功則向建議和設(shè)置模塊發(fā)送不成功的消息,并提示是否有軟硬件模塊需要升級(jí),或者模塊與內(nèi)核關(guān)系圖需要進(jìn)行改進(jìn),以便管理員能及時(shí)的發(fā)現(xiàn)問題,并采取相關(guān)措施。本發(fā)明的有益效果:節(jié)省人力,提高效率。對(duì)于大型計(jì)算中心,如果能使用計(jì)算設(shè)備自動(dòng)調(diào)優(yōu)系統(tǒng),那樣就可以省去巨大的人力,也能使計(jì)算中心的服務(wù)更好。
圖1是自動(dòng)調(diào)優(yōu)系統(tǒng)工作流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的方法作進(jìn)ー步詳細(xì)說明。由于系統(tǒng)調(diào)優(yōu)在具體實(shí)施的細(xì)節(jié)與系統(tǒng)自己特點(diǎn)有很大的相關(guān)性,因此為了更好的講述,本發(fā)明使用Iinux系統(tǒng)下實(shí)現(xiàn)性能調(diào)優(yōu)為例。一、系統(tǒng)性能監(jiān)控模塊:
系統(tǒng)性能監(jiān)控模塊的任務(wù)就是對(duì)系統(tǒng)的各個(gè)部分是否造成系統(tǒng)的瓶頸進(jìn)行監(jiān)控,主要監(jiān)控的模塊包括網(wǎng)絡(luò)忙碌程度,cpu運(yùn)行情況,內(nèi)存使用情況,磁盤IO情況,各個(gè)進(jìn)程的cpu占用情況,各個(gè)進(jìn)程的cpu使用情況,進(jìn)程的IO速度情況。對(duì)于Iinux系統(tǒng)這些運(yùn)行的參數(shù)有專門的工具,如vmstat, iostat, top, sar, tcpdump等工具,而對(duì)于其他系統(tǒng),如果沒有的可以做針對(duì)性的開發(fā)相應(yīng)的工具,監(jiān)控步驟如下:
1)要對(duì)系統(tǒng)進(jìn)行調(diào)優(yōu),首先需要確定系統(tǒng)運(yùn)行的瓶頸在什么地方,因此需要建立系統(tǒng)運(yùn)行各參數(shù)的閾值列表;
2)性能瓶頸判斷,根據(jù)系統(tǒng)監(jiān)控的ー些工具監(jiān)控的結(jié)果對(duì)系統(tǒng)的各個(gè)參數(shù)依據(jù)參數(shù)閾值列表進(jìn)行診斷,判斷該參數(shù)是否惡化。診斷的時(shí)候,監(jiān)控工具監(jiān)控到的參數(shù)一般都會(huì)有波動(dòng),不能因?yàn)橄到y(tǒng)監(jiān)控到的參數(shù)ー超過閾值就認(rèn)為該參數(shù)就已經(jīng)惡化。比如在Iinux系統(tǒng)當(dāng)中使用vmstat監(jiān)控到的r (等待進(jìn)程的個(gè)數(shù)),大于所設(shè)定的值,比如1,就認(rèn)為r參數(shù)惡化,因?yàn)樵搮?shù)很快就能變?yōu)?,但是怎樣判斷該參數(shù)惡化了呢,應(yīng)該還需要當(dāng)參數(shù)超出閾值后,有一段時(shí)間的積累,比如60秒;
3)因此對(duì)于監(jiān)控到的數(shù)據(jù)應(yīng)該規(guī)劃ー個(gè)時(shí)間窗ロ,對(duì)于各個(gè)參數(shù)時(shí)間窗ロ的大小可以不一樣。每當(dāng)獲取到新的監(jiān)控?cái)?shù)據(jù),都把該數(shù)據(jù)放入該窗ロ中,并把該窗ロ中最老的數(shù)據(jù)替換掉,如果窗ロ中數(shù)據(jù)都超出了閾值規(guī)定的大小,則認(rèn)為該參數(shù)已經(jīng)惡化,并把診斷結(jié)果調(diào)優(yōu)啟動(dòng)判斷模塊傳遞。ニ、調(diào)優(yōu)啟動(dòng)判斷模塊:
調(diào)優(yōu)啟動(dòng)模塊主要需要完成的功能主要是調(diào)優(yōu)工作是否需要啟動(dòng)。主要的依據(jù)是根據(jù)上面監(jiān)控模塊傳遞過來的惡化的參數(shù),在很多時(shí)候某個(gè)模塊出現(xiàn)問題時(shí),會(huì)有多個(gè)參數(shù)都出現(xiàn)惡化的情況。有時(shí)單ー的參數(shù)惡化就可以判斷出瓶頸,而有時(shí)單ー的參數(shù)又未必出現(xiàn)瓶頸。因此該某塊需要對(duì)監(jiān)控模塊傳遞過來的參數(shù)惡化情況做ー個(gè)綜合評(píng)判,以便確定導(dǎo)致參數(shù)惡化情況是否有瓶頸存在,到底是那些模塊出現(xiàn)了瓶頸。在該某塊需要建立監(jiān)控的參數(shù)與系統(tǒng)各模塊的瓶頸關(guān)系模型。比如,使用iostat監(jiān)控的%idle該參數(shù)能夠判斷cpu的壓カ是否大,而%iowait可以看出io等待嚴(yán)重程度,如果%iowait太大則表示磁盤io性能低下。因此這個(gè)某塊建立監(jiān)控參數(shù)與系統(tǒng)各某塊的故障關(guān)系模型至關(guān)重要。有了這樣的故障關(guān)系模型,根據(jù)上個(gè)模塊傳遞過來的惡化參數(shù)列表,判斷出是那些模塊出現(xiàn)了問題,出現(xiàn)了什么瓶頸。對(duì)于是否需要啟動(dòng)調(diào)優(yōu),還需要對(duì)判斷出來的瓶頸經(jīng)過一定時(shí)間的積累,因?yàn)闀r(shí)間很短如果進(jìn)行調(diào)優(yōu),會(huì)很容易導(dǎo)致系統(tǒng)頻繁調(diào)優(yōu),這將引起系統(tǒng)的不穩(wěn)。如果產(chǎn)生的瓶頸時(shí)間比較長了,達(dá)到預(yù)先設(shè)定的瓶頸積累時(shí)間,則應(yīng)該啟動(dòng)調(diào)優(yōu),并把啟動(dòng)調(diào)優(yōu)相關(guān)命令下達(dá)給調(diào)優(yōu)自動(dòng)化模塊,下達(dá)調(diào)優(yōu)命令的時(shí)候,需要同時(shí)把具體是出現(xiàn)的什么瓶頸,以及判斷出瓶頸的監(jiān)控參數(shù)狀況ー并下傳給調(diào)優(yōu)自動(dòng)化模塊。三、調(diào)優(yōu)自動(dòng)化模塊:
調(diào)優(yōu)自動(dòng)化模塊主要進(jìn)行的工作就是對(duì)上面的模塊傳遞過來的瓶頸類型相關(guān)的ー些內(nèi)核參數(shù)進(jìn)行調(diào)整。并把調(diào)整以后的監(jiān)控的參數(shù)與調(diào)優(yōu)啟動(dòng)模塊傳來的監(jiān)控參數(shù)進(jìn)行對(duì)比,以便確定調(diào)優(yōu)的效果,如果監(jiān)控到的監(jiān)控參數(shù)比上面模塊傳遞過來的情況更加惡化,則正在調(diào)優(yōu)的內(nèi)核參數(shù)的值應(yīng)該向方向調(diào)整。如果向反方向調(diào)整后,監(jiān)控參數(shù)依然更加惡化,這時(shí)應(yīng)該調(diào)整其他參數(shù),直到與該瓶頸的監(jiān)控參數(shù)進(jìn)入正常范圍。如果所有與該瓶頸相關(guān)的內(nèi)核參數(shù)都進(jìn)行了調(diào)整,但是仍然不能使監(jiān)控參數(shù)進(jìn)入正常范圍,這是可能需要升級(jí)該模塊硬件或者更新模塊軟件。對(duì)于這個(gè)模塊的關(guān)鍵點(diǎn)是在某模塊瓶頸與相關(guān)內(nèi)核參數(shù)的對(duì)應(yīng)關(guān)系的建立,也就是有哪些內(nèi)核參數(shù)會(huì)影響該模塊的性能。比如網(wǎng)絡(luò)性能相關(guān)的參數(shù)有tcp_Sack,tcp_window—scaling,net.core, rmem—default,net.core, rmem—max,net.core, wmem—default,net.core, wmem—max,net.1pv4.tcp_sack,net.1pv4.tcp_timestamps, net.1pv4.tcp_window_scaling等參數(shù)(還有其他參數(shù)),通過調(diào)整內(nèi)核參數(shù)(也許還有其他應(yīng)用方面的參數(shù)設(shè)置)達(dá)到調(diào)優(yōu)的目的。這樣就可以建立網(wǎng)絡(luò)模塊與這些參數(shù)的關(guān)系圖。在進(jìn)行調(diào)優(yōu)的時(shí)候,通過遍歷與網(wǎng)絡(luò)模塊相關(guān)的參數(shù),對(duì)這些參數(shù)的值進(jìn)行修改,以便達(dá)到改善網(wǎng)絡(luò)環(huán)境的目的,當(dāng)然在遍歷修改的時(shí)候需要進(jìn)行智能相關(guān)的控制。對(duì)于其他模塊也可以建立模塊與相關(guān)內(nèi)核參數(shù)的關(guān)系圖,當(dāng)某模塊產(chǎn)生瓶頸,對(duì)與它相關(guān)的內(nèi)核參數(shù)進(jìn)行遍歷調(diào)整,最后達(dá)到改善模塊工作性能的目的。在進(jìn)行內(nèi)核參數(shù)進(jìn)行修改之前,需要修改的參數(shù)之前的值進(jìn)行保存,以便一旦調(diào)優(yōu)失敗的時(shí)候,恢復(fù)這些參數(shù),讓系統(tǒng)再次調(diào)優(yōu)時(shí)從該原先參數(shù)進(jìn)行調(diào)整。如果調(diào)優(yōu)完成了,不管成功還是不成功,都需要向建議和設(shè)置模塊傳遞相關(guān)信息。如果成功,可以向建議和設(shè)置模塊發(fā)送調(diào)優(yōu)成功消息,如果不成功則向建議和設(shè)置模塊發(fā)送不成功的消息,并提示是否有軟硬件模塊需要升級(jí),或者模塊與內(nèi)核關(guān)系圖需要進(jìn)行改進(jìn),以便管理員能及時(shí)的發(fā)現(xiàn)問題,并采取相關(guān)措施。四、建議和設(shè)置模塊
該模塊主要是用于相關(guān)日志的記錄和調(diào)優(yōu)出現(xiàn)失敗的時(shí)候向管理員提出相關(guān)建議,以及修改監(jiān)控參數(shù)的惡化閾值列表,監(jiān)控的參數(shù)與模塊的瓶頸關(guān)系列表,模塊與內(nèi)核參數(shù)關(guān)系圖(可能不止內(nèi)核參數(shù),有可能還有其他參數(shù))的接ロ。該模塊還能對(duì)自動(dòng)調(diào)優(yōu)系統(tǒng)是否啟動(dòng)及管理員郵箱相關(guān)信息進(jìn)行設(shè)置。如果調(diào)優(yōu)成功,在日志當(dāng)中記錄對(duì)那個(gè)模塊進(jìn)行了調(diào)優(yōu),并記錄調(diào)優(yōu)成功消息。如果沒有調(diào)優(yōu)成功需要向管理員發(fā)送郵件,在郵件中說明對(duì)那些參數(shù)進(jìn)行了調(diào)整,是否有模塊老化,是否需要進(jìn)行相關(guān)升級(jí),以及機(jī)器的hostname,ip等信息,以便管理員做下ー步エ作。除本發(fā)明的說明書公開的技術(shù)特征外均為本專業(yè)技術(shù)人員的公職技木。
權(quán)利要求
1.一種用于計(jì)算機(jī)性能自調(diào)系統(tǒng)的設(shè)計(jì)方法,其特征在于,系統(tǒng)調(diào)優(yōu)包括系統(tǒng)性能監(jiān)控模塊、調(diào)優(yōu)啟動(dòng)判斷模塊、調(diào)優(yōu)自動(dòng)化模塊、建議和設(shè)置模塊,其中: 一、系統(tǒng)性能監(jiān)控模塊: 用于對(duì)系統(tǒng)的各個(gè)部分是否造成系統(tǒng)的瓶頸進(jìn)行監(jiān)控,監(jiān)控內(nèi)容包括:網(wǎng)絡(luò)忙碌程度,cpu運(yùn)行情況,內(nèi)存使用情況,磁盤IO情況,各個(gè)進(jìn)程的cpu占用情況,各個(gè)進(jìn)程的cpu使用情況,進(jìn)程的IO速度情況;監(jiān)控步驟如下: 1)要對(duì)系統(tǒng)進(jìn)行調(diào)優(yōu),首先需要確定系統(tǒng)運(yùn)行的瓶頸在什么地方,因此需要建立系統(tǒng)運(yùn)行各參數(shù)的閾值列表; 2)性能瓶頸判斷,根據(jù)系統(tǒng)監(jiān)控的ー些工具監(jiān)控的結(jié)果,對(duì)系統(tǒng)的各個(gè)參數(shù)依據(jù)參數(shù)閾值列表進(jìn)行診斷,判斷該參數(shù)是否惡化,診斷的時(shí)候,監(jiān)控工具監(jiān)控到的參數(shù)會(huì)有波動(dòng),不能因?yàn)橄到y(tǒng)監(jiān)控到的參數(shù)ー超過閾值就認(rèn)為該參數(shù)就已經(jīng)惡化,判斷該參數(shù)惡化,是根據(jù)參數(shù)超出閾值累計(jì)的時(shí)間; 3)對(duì)于監(jiān)控到的數(shù)據(jù)應(yīng)該規(guī)劃ー個(gè)時(shí)間窗ロ,對(duì)于各個(gè)參數(shù)時(shí)間窗ロ的大小允許不一祥,每當(dāng)獲取到新的監(jiān)控?cái)?shù)據(jù),都把該數(shù)據(jù)放入該窗ロ中,并把該窗ロ中最老的數(shù)據(jù)替換掉,如果窗口中數(shù)據(jù)都超出了閾值規(guī)定的累計(jì)的時(shí)間,則認(rèn)為該參數(shù)已經(jīng)惡化,并把診斷結(jié)果調(diào)優(yōu)啟動(dòng)判斷模塊傳遞; ニ、調(diào)優(yōu)啟動(dòng)判斷模塊: 調(diào)優(yōu)啟動(dòng)模塊,用于判斷調(diào)優(yōu)工作是否需要啟動(dòng),啟動(dòng)的依據(jù)是根據(jù)上面監(jiān)控模塊傳遞過來的惡化的參數(shù),在某個(gè)模塊出現(xiàn)問題時(shí),會(huì)有多個(gè)參數(shù)都出現(xiàn)惡化的情況,有時(shí)單ー的參數(shù)惡化就能判斷出瓶頸,而有時(shí)單ー的參數(shù)又未必出現(xiàn)瓶頸,因此,調(diào)優(yōu)啟動(dòng)模塊需要對(duì)監(jiān)控模塊傳遞過來的參數(shù)惡 化情況做ー個(gè)綜合評(píng)判,以便確定導(dǎo)致參數(shù)惡化情況是否有瓶頸存在,分析到底是哪些模塊出現(xiàn)了瓶頸; 三、調(diào)優(yōu)自動(dòng)化模塊: 調(diào)優(yōu)自動(dòng)化模塊,用于對(duì)上面的模塊傳遞過來的瓶頸類型相關(guān)的內(nèi)核參數(shù)進(jìn)行調(diào)整,并把調(diào)整以后的監(jiān)控的參數(shù)與調(diào)優(yōu)啟動(dòng)模塊傳來的監(jiān)控參數(shù)進(jìn)行對(duì)比,以便確定調(diào)優(yōu)的效果,如果監(jiān)控到的監(jiān)控參數(shù)比上面模塊傳遞過來的情況更加惡化,則正在調(diào)優(yōu)的內(nèi)核參數(shù)的值應(yīng)該向反方向調(diào)整,如果向反方向調(diào)整后,監(jiān)控參數(shù)依然更加惡化,這時(shí)應(yīng)該調(diào)整其他參數(shù),直到與該瓶頸的監(jiān)控參數(shù)進(jìn)入正常范圍,如果所有與該瓶頸相關(guān)的內(nèi)核參數(shù)都進(jìn)行了調(diào)整,但是仍然不能使監(jiān)控參數(shù)進(jìn)入正常范圍,這就需要升級(jí)該模塊硬件或者更新模塊軟件; 四、建議和設(shè)置模塊 該模塊用于相關(guān)日志的記錄和調(diào)優(yōu)出現(xiàn)失敗的時(shí)候向管理員提出相關(guān)建議,以及修改監(jiān)控參數(shù)的惡化閾值列表,監(jiān)控的參數(shù)與模塊的瓶頸關(guān)系列表,模塊與內(nèi)核參數(shù)關(guān)系圖的接ロ,該模塊還能對(duì)自動(dòng)調(diào)優(yōu)系統(tǒng)是否啟動(dòng)及管理員郵箱相關(guān)信息進(jìn)行設(shè)置;如果調(diào)優(yōu)成功,在日志當(dāng)中記錄對(duì)那個(gè)模塊進(jìn)行了調(diào)優(yōu),并記錄調(diào)優(yōu)成功消息,如果沒有調(diào)優(yōu)成功需要向管理員發(fā)送郵件,在郵件中說明對(duì)那些參數(shù)進(jìn)行了調(diào)整,是否有模塊老化,是否需要進(jìn)行相關(guān)升級(jí),以及機(jī)器的hostname,ip信息,以便管理員做下一歩工作。
2.根據(jù)權(quán)利要求1所述的設(shè)計(jì)方法,其特征在于對(duì)于是否需要啟動(dòng)調(diào)優(yōu)啟動(dòng)判斷模塊,還需要對(duì)判斷出來的瓶頸經(jīng)過一定時(shí)間的積累,因?yàn)闀r(shí)間很短就進(jìn)行調(diào)優(yōu),會(huì)很容易導(dǎo)致系統(tǒng)頻繁調(diào)優(yōu),這將引起系統(tǒng)的不穩(wěn),如果產(chǎn)生的瓶頸時(shí)間比較長了,達(dá)到預(yù)先設(shè)定的瓶頸積累時(shí)間,則應(yīng)該啟動(dòng)調(diào)優(yōu),并把啟動(dòng)調(diào)優(yōu)相關(guān)命令下達(dá)給調(diào)優(yōu)自動(dòng)化模塊,下達(dá)調(diào)優(yōu)命令的時(shí)候,需要同時(shí)把具體是出現(xiàn)的什么瓶頸,以及判斷出瓶頸的監(jiān)控參數(shù)狀況ー并下傳給調(diào)優(yōu)自動(dòng)化模塊。
3.根據(jù)權(quán)利要求1所述的設(shè)計(jì)方法,其特征在于對(duì)于調(diào)優(yōu)自動(dòng)化模塊的關(guān)鍵點(diǎn)是在某模塊瓶頸與相關(guān)內(nèi)核參數(shù)的對(duì)應(yīng)關(guān)系的建立,也就是有哪些內(nèi)核參數(shù)會(huì)影響該模塊的性能,通過調(diào)整內(nèi)核參數(shù)和應(yīng)用方面的參數(shù)設(shè)置,達(dá)到調(diào)優(yōu)的目的,這樣就能建立網(wǎng)絡(luò)模塊與這些參數(shù)的關(guān)系圖。
4.根據(jù)權(quán)利要求1所述的設(shè)計(jì)方法,其特征在于在進(jìn)行調(diào)優(yōu)的時(shí)候,通過遍歷與網(wǎng)絡(luò)模塊相關(guān)的參數(shù),對(duì)這些參數(shù)的值進(jìn)行修改,以便達(dá)到改善網(wǎng)絡(luò)環(huán)境的目的,當(dāng)然在遍歷修改的時(shí)候需要進(jìn)行智能相關(guān)的控制,對(duì)于其他模塊也能建立模塊與相關(guān)內(nèi)核參數(shù)的關(guān)系圖,當(dāng)某模塊產(chǎn)生瓶頸,對(duì)與它相關(guān)的內(nèi)核參數(shù)進(jìn)行遍歷調(diào)整,最后達(dá)到改善模塊工作性能的目的。
5.根據(jù)權(quán)利要求1所述的設(shè)計(jì)方法,其特征在于在進(jìn)行內(nèi)核參數(shù)進(jìn)行修改之前,需要修改的參數(shù)之前的值進(jìn)行保存,以便一旦調(diào)優(yōu)失敗的時(shí)候,恢復(fù)這些參數(shù),讓系統(tǒng)再次調(diào)優(yōu)時(shí)從該原先參數(shù)進(jìn)行調(diào)整,如果調(diào)優(yōu)完成了,不管成功還是不成功,都需要向建議和設(shè)置模塊傳遞相關(guān)信息,如果成功,向建議和設(shè)置模塊發(fā)送調(diào)優(yōu)成功消息,如果不成功則向建議和設(shè)置模塊發(fā)送不成功的消息,并提示是否有軟硬件模塊需要升級(jí),或者模塊與內(nèi)核關(guān)系圖需要進(jìn)行改進(jìn),以便管 理員能及時(shí)的發(fā)現(xiàn)問題,并采取相關(guān)措施。
全文摘要
本發(fā)明提供一種用于計(jì)算機(jī)性能自調(diào)系統(tǒng)的設(shè)計(jì),系統(tǒng)調(diào)優(yōu)包括系統(tǒng)性能監(jiān)控模塊、調(diào)優(yōu)啟動(dòng)判斷模塊、調(diào)優(yōu)自動(dòng)化模塊、建議和設(shè)置模塊,其中統(tǒng)性能監(jiān)控模塊用于對(duì)系統(tǒng)的各個(gè)部分是否造成系統(tǒng)的瓶頸進(jìn)行監(jiān)控,監(jiān)控內(nèi)容包括網(wǎng)絡(luò)忙碌程度,cpu運(yùn)行情況,內(nèi)存使用情況,磁盤IO情況,各個(gè)進(jìn)程的cpu占用情況,各個(gè)進(jìn)程的cpu使用情況,進(jìn)程的IO速度情況。
文檔編號(hào)G06F11/30GK103116538SQ20131002900
公開日2013年5月22日 申請(qǐng)日期2013年1月25日 優(yōu)先權(quán)日2013年1月25日
發(fā)明者肖健明 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司