欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

史上最全性能調(diào)優(yōu)總結(jié)

書(shū)生途 ? 來(lái)源:書(shū)生途 ? 作者:書(shū)生途 ? 2022-05-13 08:57 ? 次閱讀

一,什么是性能調(diào)優(yōu)?

在說(shuō)什么是性能調(diào)優(yōu)之前,我們先來(lái)說(shuō)一下,計(jì)算機(jī)的體系結(jié)構(gòu)。

poYBAGJ9CFaAL_0eAABTLccueGc088.jpg

如上圖,簡(jiǎn)單來(lái)說(shuō)包括三塊:硬件、操作系統(tǒng)、應(yīng)用程序。其實(shí),性能調(diào)優(yōu)就是調(diào)節(jié)這些內(nèi)容,包括硬件、操作系統(tǒng)、應(yīng)用程序。其中,這三大方面又包含了若干的內(nèi)容。

  1. 硬件包括:CPU、內(nèi)存、磁盤(pán)、網(wǎng)卡、其它……,
  2. 操作系統(tǒng)包括 進(jìn)程、虛擬內(nèi)存、文件系統(tǒng)、網(wǎng)絡(luò)、其它……,
  3. 應(yīng)用程序我就不用說(shuō)了大家都懂,常見(jiàn)的有Apache、MySQL、Nginx、Memcahed等。

內(nèi)核資料直通車(chē):最新Linux內(nèi)核源碼資料文檔+視頻資料

學(xué)習(xí)直通車(chē):Linux內(nèi)核源碼/內(nèi)存調(diào)優(yōu)/文件系統(tǒng)/進(jìn)程管理/設(shè)備驅(qū)動(dòng)/網(wǎng)絡(luò)協(xié)議棧

那什么是性能調(diào)優(yōu)呢?

性能調(diào)優(yōu)就是對(duì)計(jì)算機(jī)硬件、操作系統(tǒng)和應(yīng)用有相當(dāng)深入的了解,調(diào)節(jié)三者之間的關(guān)系,實(shí)現(xiàn)整個(gè)系統(tǒng)(包括硬件、操作系統(tǒng)、應(yīng)用)的性能最大化,并能不斷的滿足現(xiàn)有的業(yè)務(wù)需求。這就是我們說(shuō)的性能調(diào)優(yōu),客官你懂了嘛?

二,為什么需要性能調(diào)優(yōu)?

下面我們來(lái)說(shuō)一說(shuō)為什么需要性能調(diào)優(yōu),其實(shí)說(shuō)到底就兩個(gè)原因:一是為了獲得更好的系統(tǒng)性能(就是你現(xiàn)有的系統(tǒng)運(yùn)行得還不錯(cuò),但優(yōu)化一下可以運(yùn)行的更好)。二是通過(guò)性能調(diào)優(yōu)來(lái)滿足不斷增加的業(yè)務(wù)需求。為了更直觀地幫助大家來(lái)理解為什么要性能調(diào)優(yōu)?我們分別從三個(gè)方面來(lái)說(shuō):

  • 硬件選型(根據(jù)服務(wù)器應(yīng)用類(lèi)型來(lái)選購(gòu)服務(wù)器)
  • 操作系統(tǒng)發(fā)行版本 (選擇發(fā)行版本)
  • 應(yīng)用程序 (Nginx、MySQL等)

1.硬件選型

不管你是租服務(wù)器也好還是自己買(mǎi)服務(wù)器也好都要遇到一個(gè)問(wèn)題,我們選擇什么樣硬件配置的服務(wù)器。

一般我們是根據(jù)應(yīng)用類(lèi)型來(lái)選擇服務(wù)器,因?yàn)槟悴豢赡芤环N硬件配置來(lái)滿足所有的應(yīng)用需求,因?yàn)槊總€(gè)應(yīng)用的具體需求不一樣。下面我們來(lái)看一下在項(xiàng)目實(shí)施中有哪些應(yīng)用類(lèi)型:

  • 負(fù)載均衡:性能要求相對(duì)較低,因?yàn)橹回?fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù),但要保證選一性能突出的網(wǎng)卡即可。(推薦配置:CPU E5620 x 1 內(nèi)存 8G 硬盤(pán) 500G(RAID5))
  • Web 服務(wù)器:一般只處理一些靜態(tài)頁(yè)面或者圖片等,因此要求也不是很高,主流的服務(wù)器都可以使用。(推薦配置:CPU E5620 x 1 內(nèi)存 16G 硬盤(pán) 500G(RAID5))
  • 應(yīng)用服務(wù)器:一般應(yīng)用程序服務(wù)器,他承擔(dān)網(wǎng)站功能的實(shí)現(xiàn),在架構(gòu)中占有比較重的位置,特別是網(wǎng)站架構(gòu)中只有一臺(tái)應(yīng)用服務(wù)器,對(duì)CPU、內(nèi)存、磁盤(pán)要求都比較高。(推薦配置:CPU E5620 x 2 內(nèi)存 32G 硬盤(pán) 500G(RAID10))
  • 緩存服務(wù)器:分為前端頁(yè)面緩存與后面數(shù)據(jù)緩存,他們典型的應(yīng)用分別是Varnish與Memcached,對(duì)內(nèi)存的要求比較大,一般我們配置服務(wù)器時(shí)使用較大有內(nèi)存。(推薦配置:CPU E5620 x 1 內(nèi)存 32G 硬盤(pán) 500G(RAID10))
  • 數(shù)據(jù)庫(kù)服務(wù)器:數(shù)據(jù)服務(wù)器對(duì)CPU、內(nèi)存、磁盤(pán)的要求都很高,一但某個(gè)硬件是短板都會(huì)帶來(lái)性能問(wèn)題。(推薦配置:CPU E5620 x 2 內(nèi)存 64G 固態(tài)硬盤(pán) 500G(RAID10))
  • 備份服務(wù)器:備份服務(wù)器一般就沒(méi)有什么要求,但有點(diǎn)可以肯定是必須有足夠大的硬盤(pán)空間。(推薦配置:CPU E5620 x 1 內(nèi)存 4G 硬盤(pán) 2TB(RAID5))
  • 監(jiān)控服務(wù)器:一般也沒(méi)什么需要,普通的PC服務(wù)器就可以。(推薦配置:CPU E5620 x 1 內(nèi)存 4G 硬盤(pán) 500(RAID5))
  • 其它服務(wù)器:至于其它服務(wù)器就看各位的具體需要具體分析了。

這下各位知道什么是硬件的性能調(diào)優(yōu)了吧,根據(jù)你具體的應(yīng)用,進(jìn)行具體分析特別是像MySQL這樣的服務(wù)器,對(duì)CPU、內(nèi)存、磁盤(pán)要求都比較高。

所以,對(duì)硬件的性能調(diào)優(yōu)我們必須做到選擇合適的硬件配置。這是網(wǎng)站架構(gòu)或者項(xiàng)目實(shí)施首先要解決的問(wèn)題!

2.操作系統(tǒng)

有本書(shū)叫《Linux Performance Tuning》(Linux 性能調(diào)優(yōu))這本書(shū)是老外寫(xiě)的,作者是 Fernando Apesteguia 。

為什么我們需要性能調(diào)優(yōu)?他得出的結(jié)論是這樣的:

“當(dāng)一個(gè)發(fā)行版打包發(fā)送到客戶手中的時(shí)候,它是為了完全兼容市場(chǎng)中大部分計(jì)算機(jī)而設(shè)計(jì)的。這是一個(gè)相當(dāng)混雜的硬件集合(硬盤(pán),顯卡,網(wǎng)卡,等等)。

所以Red Hat,SUSE,Mandriva,Ubuntu和其他的一些發(fā)行版廠商選擇了一些保守的設(shè)置來(lái)確保安裝成功?!?/p>

簡(jiǎn)單說(shuō),你的操作系統(tǒng)已經(jīng)運(yùn)行得不錯(cuò)了,但是你可以調(diào)節(jié)它獲得更高的性能,比如你有個(gè)高性能的磁盤(pán),但你的操作系統(tǒng)中一些選項(xiàng)參數(shù)默認(rèn)沒(méi)有啟動(dòng),就不能實(shí)現(xiàn)這些高級(jí)功能來(lái)提高硬盤(pán)性能。

還有我想說(shuō)就是對(duì)操作系統(tǒng)發(fā)行版選擇的問(wèn)題,RedHat或CentOS這些操作系統(tǒng)在項(xiàng)目實(shí)施或網(wǎng)站架構(gòu)中用的比較多,主要針對(duì)企業(yè)應(yīng)用而開(kāi)發(fā)的操作系統(tǒng)。

而Ubuntu之類(lèi)的操作系統(tǒng)對(duì)桌面支持的比較好,所以選擇發(fā)行版本時(shí)得注意。(一般企業(yè)中用的比較多的是CentOS)再有就是我們一般不要選擇最新的發(fā)行版,因?yàn)閯偝鰜?lái)的發(fā)行版相對(duì)來(lái)說(shuō)bug還比較多,不要先當(dāng)“小白鼠”了,

比如:剛剛出來(lái)CentOS 7 等過(guò)一段時(shí)間穩(wěn)定了再使用,目前我們可以選擇 CentOS 6.4 或 6.5即可。

(但新版本也有很多好處,新版本中加入了很多新功能,去掉一些已知bug,對(duì)于一些不重要的應(yīng)用,可嘗試使用新的操作系統(tǒng))

3.應(yīng)用程序

最后,我們得來(lái)說(shuō)說(shuō)應(yīng)用程序了,我們先來(lái)簡(jiǎn)單看到一下Apache的MPM配置文件:

prefork 模型:

 
StartServers 8 
MinSpareServers 5 
MaxSpareServers 20 
ServerLimit 256 
MaxClients 256 
MaxRequestsPerChild 4000 

大家可以從上面的配置文件中可以看出,apache 開(kāi)始啟動(dòng)時(shí)啟用 8個(gè)進(jìn)程,最小 5個(gè)進(jìn)程,最大20個(gè)進(jìn)程,每個(gè)進(jìn)程限制請(qǐng)求數(shù)為256個(gè),最多可以接受請(qǐng)求 4000個(gè),超過(guò)這個(gè)限制數(shù)自動(dòng)銷(xiāo)毀。

worker 模型:

 
StartServers 2 
MaxClients 150 
MinSpareThreads 25 
MaxSpareThreads 75 
ThreadsPerChild 25 
MaxRequestsPerChild 0 

再看一下,worker模型的配置文件,默認(rèn)啟動(dòng)2個(gè)進(jìn)程,每個(gè)進(jìn)程可以接受的請(qǐng)求為150個(gè),每個(gè)進(jìn)程中最小線程數(shù)25個(gè),最大線程數(shù)為75個(gè),默認(rèn)線程數(shù)25個(gè),每個(gè)線程可以接受的請(qǐng)求沒(méi)有限制為0。

好了,大家看完上面的配置文件,可以看出默認(rèn)的Apache配置文件,設(shè)置的比較保守,只適于一些中小網(wǎng)站,想要獲得高性能的Apache服務(wù)器還必須進(jìn)行性能調(diào)優(yōu),包括apache編譯選項(xiàng),配置文件優(yōu)化等,具體的調(diào)優(yōu)我們?cè)谶@里先不細(xì)說(shuō)。

通過(guò)我們上面的講解,我們分別從硬件、操作系統(tǒng)、應(yīng)用程序,這三個(gè)方面入手和大家談?wù)劄楹涡枰阅苷{(diào)優(yōu),相信大家已經(jīng)知道并了解,相信大家都迫不及待了吧。

嘿嘿,我們先不急還有很多問(wèn)題沒(méi)有說(shuō)清楚,下面我們和大家來(lái)說(shuō)說(shuō),什么時(shí)候需要性能調(diào)優(yōu)?

三,什么時(shí)候需要性能調(diào)優(yōu)?

一般分為兩個(gè)時(shí)間段:

  • 上線前(基本優(yōu)化)
  • 上線后(持續(xù)優(yōu)化)

為什么這樣說(shuō)呢,一般我們?cè)陧?xiàng)目實(shí)施到項(xiàng)目上線這段時(shí)間,不但要準(zhǔn)備硬件服務(wù)器、安裝操作系統(tǒng)、環(huán)境搭建,還有個(gè)很重要的問(wèn)題就是進(jìn)行性能優(yōu)化,包括操作系統(tǒng)優(yōu)化和應(yīng)用環(huán)境優(yōu)化等,我稱(chēng)上線前的優(yōu)化為基本優(yōu)化也稱(chēng)為經(jīng)驗(yàn)優(yōu)化。

根據(jù)你做過(guò)的項(xiàng)目和你工作中的經(jīng)驗(yàn)對(duì)上線前的服務(wù)器或架構(gòu)進(jìn)行基本的性能優(yōu)化來(lái)滿足業(yè)務(wù)需求。

再有就是項(xiàng)目上線后的優(yōu)化,在上線前我們已經(jīng)經(jīng)過(guò)基本的性能優(yōu)化,解決大部分的性能問(wèn)題,但畢竟上線前的所以測(cè)試都是模擬測(cè)試并進(jìn)行相關(guān)的性能優(yōu)化,與上線后的真實(shí)環(huán)境還是有相當(dāng)大的區(qū).

我們首先要做的就是對(duì)上線后的項(xiàng)目進(jìn)行性能監(jiān)控包括服務(wù)器性能監(jiān)控和服務(wù)器性能監(jiān)控。

服務(wù)器性能監(jiān)控包括:

CPU使用率、CPU負(fù)載、內(nèi)存使用率、磁盤(pán)I/O、磁盤(pán)空間使用率、網(wǎng)絡(luò)流量、系統(tǒng)進(jìn)程等,服務(wù)性能監(jiān)控包括apache、nginx、mysql。

以上架構(gòu)中所有的服務(wù)都需要進(jìn)行性能監(jiān)控,一旦發(fā)現(xiàn)有問(wèn)題我們都得去進(jìn)行性能優(yōu)化,在這個(gè)過(guò)程中我稱(chēng)為持續(xù)優(yōu)化也稱(chēng)為監(jiān)控優(yōu)化。下面我們來(lái)具體地說(shuō)一下,具體什么地方需要性能調(diào)優(yōu)?

四,什么地方需要性能調(diào)優(yōu)?

在上面我們說(shuō)性能調(diào)優(yōu)只說(shuō)一些大的方面,包括硬件、操作系統(tǒng)、應(yīng)用程序這三大塊。

其實(shí)還有一塊就是程序本身的優(yōu)化,開(kāi)發(fā)人員根據(jù)需求開(kāi)發(fā)出來(lái)的程序本身就需要性能優(yōu)化,但對(duì)于我們運(yùn)維人員來(lái)說(shuō)接觸的比較少而已。下面我們就來(lái)看看這三大塊:

  • 硬件 (CPU、內(nèi)存、磁盤(pán)、網(wǎng)卡)
  • 操作系統(tǒng)(進(jìn)程、文件系統(tǒng)、內(nèi)核 ……)
  • 應(yīng)用程序(Nginx、MySQL ……)

1.硬件

硬件優(yōu)化一般也包括兩塊:

  • 上線前(硬件選型)
  • 上線后(硬件擴(kuò)展)

一般項(xiàng)目搭建時(shí)都需要根據(jù)具體的應(yīng)用進(jìn)行硬件配置選型,在這方面需要一定的運(yùn)維經(jīng)驗(yàn)剛接觸的朋友可以在這方面有點(diǎn)欠缺,但沒(méi)事一般做過(guò)一兩個(gè)項(xiàng)目以后,對(duì)硬件配置選型也就會(huì)了,嘿嘿。

但有個(gè)不成文的經(jīng)驗(yàn),硬件配置還是越高越好(別說(shuō)是我說(shuō)的)。

我們?yōu)槭裁凑f(shuō)需要根據(jù)具體的應(yīng)用來(lái)選型呢,一方面是什么樣的應(yīng)用需要什么樣的硬件配置,還有點(diǎn)很重要就是節(jié)約成本,錢(qián)得要在刀刃上不該花的錢(qián)我們不能亂花,也是為公司節(jié)約成本,實(shí)現(xiàn)資源利用最大化。

上面我們說(shuō)的是項(xiàng)目搭建初期,你運(yùn)氣比較好的項(xiàng)目一開(kāi)始你就在這邊。

一般有經(jīng)驗(yàn)的運(yùn)維工程師在硬件選型上是不會(huì)有問(wèn)題的,所以我們?cè)谛阅軆?yōu)化時(shí)就不考慮硬件這塊,從理論上講我們服務(wù)器硬件配置一般不會(huì)出現(xiàn)在這種性能問(wèn)題上。

但是呢,由于我們業(yè)務(wù)做得越來(lái)越好,項(xiàng)目創(chuàng)建初期沒(méi)有考慮到會(huì)有這么大的性能需要(訪問(wèn)量),現(xiàn)在有的硬件不能滿足業(yè)務(wù)需求,所我們這時(shí)需要更換更好的CPU、更大的內(nèi)存和更快的磁盤(pán)。

至于如何找出硬件是性能瓶頸我們先在這里不細(xì)說(shuō),在后面的文章中我們將會(huì)細(xì)說(shuō)。最后我們來(lái)看一張硬件架構(gòu)圖,能幫你更好的理解硬件優(yōu)化,如下圖(Dell R 710 架構(gòu)):

3.應(yīng)用程序

最后我們來(lái)說(shuō)說(shuō)應(yīng)用程序優(yōu)化,這里我們來(lái)說(shuō)一下MySQL優(yōu)化例子,讓大家更直觀的了解。

  • MySQL 編譯安裝優(yōu)化
  • MySQL 配置文件優(yōu)化
  • 索引優(yōu)化
  • MySQL 引擎優(yōu)化
  • 查詢緩存優(yōu)化
  • SQL 語(yǔ)句優(yōu)化
  • 優(yōu)化表類(lèi)型(MyISAM或InnoDB)
  • 鎖機(jī)制優(yōu)化
  • MySQL 服務(wù)器優(yōu)化(換SSD)

通達(dá)上面的對(duì)硬件、操作系統(tǒng)、應(yīng)用程序的具體說(shuō)明相信,大家對(duì)性能優(yōu)化有了更深層次的了解,下面我們來(lái)說(shuō)一個(gè)重要的問(wèn)題,什么人來(lái)進(jìn)行性能優(yōu)化?

五,什么人來(lái)進(jìn)行性能調(diào)優(yōu)?

一說(shuō)起性能優(yōu)化我們第一個(gè)想到的就是運(yùn)維工程師,他們來(lái)進(jìn)行優(yōu)化。

其實(shí)我想說(shuō),這么說(shuō)是片面的性能優(yōu)化不僅僅是運(yùn)維工程師的事。

其實(shí)呢,性能優(yōu)化是一個(gè)團(tuán)隊(duì)的事。我為什么這么說(shuō)呢?

下面我們就來(lái)說(shuō)一下,大家想哪一公司需要做一項(xiàng)目,我們就拿最常見(jiàn)的電子商務(wù)中商城的項(xiàng)目來(lái)說(shuō)吧,公司確認(rèn)由于業(yè)務(wù)需要我們需要在網(wǎng)上做一個(gè)建材商城,那項(xiàng)目的具體流程是什么呢?可能不是很詳細(xì),但大體過(guò)程是這樣的:

  • 運(yùn)營(yíng)提出需求
  • 產(chǎn)品整理需求
  • 開(kāi)發(fā)開(kāi)發(fā)具體的業(yè)務(wù)應(yīng)用
  • 運(yùn)維搭建開(kāi)發(fā)環(huán)境
  • QA 進(jìn)行項(xiàng)目測(cè)試
  • 運(yùn)維進(jìn)行項(xiàng)目上線
  • 監(jiān)控進(jìn)行項(xiàng)目監(jiān)控

開(kāi)發(fā)一個(gè)具體的應(yīng)用需要運(yùn)營(yíng)部、產(chǎn)品部、開(kāi)發(fā)部、運(yùn)維部、QA (測(cè)試)、監(jiān)控等所有部門(mén)的參加。

同樣的一個(gè)項(xiàng)目(業(yè)務(wù))存在性能問(wèn)題,不會(huì)只是運(yùn)維部門(mén)需要性能調(diào)優(yōu)而是所以部門(mén)一起解決這個(gè)性能問(wèn)題,這是缺一不可的。

可能出現(xiàn)在產(chǎn)品,也可能出現(xiàn)在程序上(*.php),也可能是業(yè)務(wù)需要本身就有問(wèn)題,也可能是運(yùn)維的環(huán)境搭建有問(wèn)題。但參加性能調(diào)優(yōu)的更多的是開(kāi)發(fā)、運(yùn)維、測(cè)試和監(jiān)控。

六,怎么樣進(jìn)行性能調(diào)優(yōu)?

下面進(jìn)入正題了我們說(shuō)一說(shuō)怎么進(jìn)行性能調(diào)優(yōu),具體步驟如下:

  • 性能指標(biāo) –> 確認(rèn)衡量標(biāo)準(zhǔn)
  • 性能測(cè)試 –> 驗(yàn)證性能指標(biāo)
  • 性能分析 –> 找出性能瓶頸
  • 性能調(diào)優(yōu) –> 解決性能問(wèn)題
  • 性能監(jiān)控 –> 檢驗(yàn)調(diào)優(yōu)效果

1.性能指標(biāo)

上面我們說(shuō)了,我們優(yōu)化的目的是為了獲得更好的性能,那么性能指標(biāo)是什么呢?我們?cè)趺礃觼?lái)衡量,一般衡量一個(gè)項(xiàng)目(這里指的網(wǎng)站)的指標(biāo)有三個(gè):

  • 吞吐量 –> 是單位時(shí)間內(nèi)完成的用戶或系統(tǒng)的請(qǐng)求數(shù)量。
  • 并發(fā)數(shù) –> 同時(shí)能接受多少用戶的訪問(wèn)請(qǐng)求
  • 響應(yīng)時(shí)間 –> 用戶發(fā)出請(qǐng)求到收到響應(yīng)的時(shí)間間隔。

2.性能測(cè)試

我們做產(chǎn)品或者說(shuō)項(xiàng)目(更直白的說(shuō)是網(wǎng)站)目的是為了讓用戶使用,我們得先站在用戶的角度分析一下,用戶需要關(guān)注哪些性能。

對(duì)于用戶來(lái)說(shuō),當(dāng)點(diǎn)擊一個(gè)按鈕、鏈接或發(fā)出一個(gè)操作指令,到系統(tǒng)把請(qǐng)求處理好發(fā)給用戶并用網(wǎng)頁(yè)的形式展現(xiàn)出來(lái)為止,這個(gè)過(guò)程中所消耗的時(shí)間是用戶對(duì)這個(gè)網(wǎng)站性能的直觀印象。

也就是我們所說(shuō)的響應(yīng)時(shí)間,當(dāng)響應(yīng)時(shí)間較小時(shí),用戶體驗(yàn)相對(duì)來(lái)說(shuō)就會(huì)好,當(dāng)然用戶體驗(yàn)的響應(yīng)時(shí)間包括個(gè)人主觀因素和客觀響應(yīng)時(shí)間。

在網(wǎng)站開(kāi)發(fā)與搭建時(shí),我們就需要考慮到如何更好地結(jié)合這兩部分達(dá)到用戶最佳的體驗(yàn)。用戶關(guān)注的是用戶操作的相應(yīng)時(shí)間。

其次,我們站在運(yùn)維的角度考慮需要關(guān)注的性能點(diǎn)。再次,我們得站在開(kāi)發(fā)(設(shè)計(jì))人員角度去考慮網(wǎng)站性能。最后,由QA測(cè)試與反饋我們網(wǎng)站性能。

經(jīng)過(guò)上述的說(shuō)明,我們來(lái)測(cè)試系統(tǒng)的性能,需要我們收集系統(tǒng)的吞吐量、并發(fā)數(shù)、響應(yīng)時(shí)間這三個(gè)重要的指標(biāo)。具體步驟是:

  • 確認(rèn)吞吐量、并發(fā)數(shù)、響應(yīng)時(shí)間這三個(gè)值
  • 找到或開(kāi)發(fā)相應(yīng)的性能測(cè)試工具
  • 進(jìn)行性能測(cè)試
  • 反饋結(jié)果并提交測(cè)試報(bào)告

結(jié)果,有兩個(gè)一種是達(dá)到我們預(yù)期的性能目標(biāo),這樣我們就不需要性能優(yōu)化任務(wù)完成可以交給運(yùn)維上線,只需要進(jìn)行相關(guān)的性能監(jiān)控,方便上線后進(jìn)行性能優(yōu)化。

另一種是沒(méi)有達(dá)到我們預(yù)期的目標(biāo),我們要查找性能瓶頸并進(jìn)行性能優(yōu)化。

3.性能分析

通過(guò)上面的性能測(cè)試,我們發(fā)現(xiàn)網(wǎng)站沒(méi)有達(dá)到我們預(yù)期定義的性能目標(biāo),這時(shí)我們需要做的就是對(duì)現(xiàn)有的系統(tǒng)(服務(wù)器)進(jìn)行監(jiān)控,包括硬件與軟件監(jiān)控,為性能調(diào)優(yōu)提供有效的性能監(jiān)控?cái)?shù)據(jù)。

下面我們重點(diǎn)來(lái)說(shuō)一下,用什么工具能找出性能瓶頸:

硬件:

  • 用vmstat、sar、iostat檢測(cè)是否是CPU瓶頸
  • 用free、vmstat檢測(cè)是否是內(nèi)存瓶頸
  • 用iostat檢測(cè)是否是磁盤(pán)I/O瓶頸
  • 用netstat檢測(cè)是否是網(wǎng)絡(luò)帶寬瓶

操作系統(tǒng):

  • 進(jìn)程
  • 文件系統(tǒng)
  • SWAP 分區(qū)
  • 內(nèi)核參數(shù)調(diào)整
  • 應(yīng)用程序(MySQL等):
  • mysqlreport 性能分析報(bào)告
  • mysqlsla 慢查詢?nèi)罩痉治?/li>

4.性能調(diào)優(yōu)

  • 確定調(diào)優(yōu)目標(biāo)
  • 具體調(diào)優(yōu)步驟
  • 檢測(cè)調(diào)優(yōu)結(jié)果

確定調(diào)優(yōu)目標(biāo)

我們性能優(yōu)化的目標(biāo)是網(wǎng)站性能提高10%還是20%,不能老大說(shuō)今天你給我優(yōu)化一下網(wǎng)站性能,你就能使用網(wǎng)站性能翻一倍。

首先,你要問(wèn)他我們需要達(dá)到一個(gè)怎么的目標(biāo)。

然后,我們要了解一下整個(gè)環(huán)境(架構(gòu))包括代碼(當(dāng)然你需要了解一下業(yè)務(wù)邏輯,大致了解一下,肯定沒(méi)壞處),有時(shí)間多和開(kāi)發(fā)溝通一下,問(wèn)問(wèn)代碼中有多少坑要填,這很重要。

往往他們優(yōu)一下代碼中的SQL查詢,比你優(yōu)化系統(tǒng)多少天都來(lái)的有效果,哈哈。

具體調(diào)優(yōu)步驟

  • 如果你不懂系統(tǒng)的參數(shù),你千萬(wàn)不要對(duì)系統(tǒng)的參數(shù)進(jìn)行隨意的改動(dòng),不然你會(huì)后悔的。
  • 每次只對(duì)一種系統(tǒng)資源進(jìn)行系統(tǒng)調(diào)試,如CPU、或內(nèi)存、磁盤(pán)。
  • 每次改動(dòng)盡量少的參數(shù)設(shè)置,推薦每次修改一個(gè)設(shè)置。
  • 分析一項(xiàng)系統(tǒng)資源時(shí),使用多種工具,往往會(huì)有意想不到的結(jié)果。
  • 不及勝于過(guò)之(寧愿少做一點(diǎn),不要做過(guò)頭了,性能已達(dá)到要求就不要隨意亂動(dòng),做好你的監(jiān)控)。

檢測(cè)調(diào)優(yōu)結(jié)果

每次性能調(diào)優(yōu)后必須對(duì)性能進(jìn)程檢測(cè),如Web服務(wù)器的ab工具,就是一個(gè)很好的檢測(cè)工具,每次調(diào)優(yōu)后都能看到具體的變化。

5.性能監(jiān)控

性能監(jiān)控這個(gè)很重要,具體包括服務(wù)器性能監(jiān)控和具體服務(wù)器的性能監(jiān)控。下面我們說(shuō)一說(shuō)具體有哪些性能監(jiān)控指標(biāo):

服務(wù)器的性能監(jiān)控

  • CPU 使用率
  • CPU負(fù)載
  • 內(nèi)存使用率
  • 磁盤(pán)I/O
  • 網(wǎng)絡(luò)流量
  • 磁盤(pán)空間
  • 系統(tǒng)進(jìn)程

服務(wù)的性能監(jiān)控(MySQL)

  • MySQL查詢吞吐率,包括Change DB、Select、Insert、Update、Delete
  • MySQL持久連接利用率
  • MySQL查詢緩存空間使用率
  • MySQL查詢緩存命中率
  • MySQL緩存查詢數(shù)
  • MySQL索引緩存命中率
  • MySQL索引讀取統(tǒng)計(jì)
  • MySQL連接吞吐率
  • MySQL連接緩存命中率
  • MySQL并發(fā)連接數(shù),包括最大允許連接數(shù)、實(shí)際最大連接數(shù)、當(dāng)前連接數(shù)、活躍連接數(shù)、緩存連接數(shù)
  • MySQL流量統(tǒng)計(jì)
  • MySQL表統(tǒng)計(jì)鎖定

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11351

    瀏覽量

    210512
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7549

    瀏覽量

    88737
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    史上最全面示波器教材

    由淺入深逐步介紹示波器的原理、使用,以及各性能術(shù)語(yǔ)詳解。實(shí)乃不可多得的教材之一,堪稱(chēng)史上最全面的示波器介紹!
    發(fā)表于 08-01 20:51

    史上最全的畢業(yè)設(shè)計(jì)資料--歡迎下載

    史上最全的畢業(yè)設(shè)計(jì)及產(chǎn)品設(shè)計(jì)資料--歡迎下載https://bbs.elecfans.com/forum.php?mod=viewthread&tid=271527&fromuid=779708
    發(fā)表于 08-30 00:32

    史上最全的示波器學(xué)習(xí)資料

    史上最全的示波器學(xué)習(xí)資料
    發(fā)表于 04-21 12:58

    史上最全的PCB封裝命名規(guī)范

    史上最全的PCB封裝命名規(guī)范
    發(fā)表于 06-12 15:58

    史上最全word用法

    史上最全word用法
    發(fā)表于 08-29 11:27

    史上最全的PCB封裝命名規(guī)范

    史上最全的PCB封裝命名規(guī)范
    發(fā)表于 11-27 17:23

    HBase性能調(diào)優(yōu)概述

    HBase性能調(diào)優(yōu)
    發(fā)表于 07-03 11:35

    基于全HDD aarch64服務(wù)器的Ceph性能調(diào)優(yōu)實(shí)踐總結(jié)

    rocksdb的調(diào)優(yōu)是對(duì)寫(xiě)放大,讀放大,空間放大之間的權(quán)衡。7 總結(jié)本文介紹了基于全HDD aarch64服務(wù)器的Ceph性能調(diào)
    發(fā)表于 07-05 14:26

    infosphere CDC 性能調(diào)優(yōu)及MC性能指標(biāo)監(jiān)控

    infosphere CDC 性能調(diào)優(yōu)及MC性能指標(biāo)監(jiān)控
    發(fā)表于 09-07 09:26 ?4次下載
    infosphere CDC <b class='flag-5'>性能</b><b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>及MC<b class='flag-5'>性能</b>指標(biāo)監(jiān)控

    infosphere CDC性能調(diào)優(yōu)的文檔

    infosphere CDC性能調(diào)優(yōu)的文檔
    發(fā)表于 09-07 09:30 ?7次下載
    infosphere CDC<b class='flag-5'>性能</b><b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>的文檔

    如何對(duì)電機(jī)進(jìn)行調(diào)優(yōu)調(diào)優(yōu)的好處是什么?

    如何自動(dòng)對(duì)電機(jī)進(jìn)行調(diào)優(yōu)
    的頭像 發(fā)表于 08-22 00:03 ?3192次閱讀

    javajvm調(diào)優(yōu)有幾種方法

    JVM調(diào)優(yōu)是Java應(yīng)用程序性能優(yōu)化過(guò)程中的重要步驟,它通過(guò)針對(duì)JVM進(jìn)行優(yōu)化來(lái)提高應(yīng)用程序的性能和可靠性。JVM調(diào)
    的頭像 發(fā)表于 12-05 11:11 ?2186次閱讀

    什么場(chǎng)景需要jvm調(diào)優(yōu)

    JVM調(diào)優(yōu)是指對(duì)Java虛擬機(jī)進(jìn)行性能優(yōu)化和資源管理,以提高應(yīng)用程序的運(yùn)行效率和吞吐量。JVM調(diào)優(yōu)的場(chǎng)景有很多,下面將詳細(xì)介紹各種不同的場(chǎng)景
    的頭像 發(fā)表于 12-05 11:14 ?1524次閱讀

    jvm調(diào)優(yōu)工具有哪些

    JVM調(diào)優(yōu)是提高Java應(yīng)用程序性能的重要手段,而JVM調(diào)優(yōu)工具則是輔助開(kāi)發(fā)人員進(jìn)行調(diào)
    的頭像 發(fā)表于 12-05 11:44 ?1176次閱讀

    鴻蒙開(kāi)發(fā)實(shí)戰(zhàn):【性能調(diào)優(yōu)組件】

    性能調(diào)優(yōu)組件包含系統(tǒng)和應(yīng)用調(diào)優(yōu)框架,旨在為開(kāi)發(fā)者提供一套性能
    的頭像 發(fā)表于 03-13 15:12 ?526次閱讀
    鴻蒙開(kāi)發(fā)實(shí)戰(zhàn):【<b class='flag-5'>性能</b><b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>組件】