日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

你想建设一个能承受500万PV/每天的网站吗?如果计算呢?

發(fā)布時(shí)間:2025/6/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你想建设一个能承受500万PV/每天的网站吗?如果计算呢? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

作者:趙磊

博客:http://elf8848.iteye.com

?

你想建設(shè)一個(gè)能承受500萬PV/每天的網(wǎng)站嗎? 500萬PV是什么概念?服務(wù)器每秒要處理多少個(gè)請求才能應(yīng)對?如果計(jì)算呢??

PV是什么:

PV是page view的簡寫。PV是指頁面的訪問次數(shù),每打開或刷新一次頁面,就算做一個(gè)pv。?

計(jì)算模型:?
每臺服務(wù)器每秒處理請求的數(shù)量=((80%*總PV量)/(24小時(shí)*60分*60秒*40%)) / 服務(wù)器數(shù)量 。
其中關(guān)鍵的參數(shù)是80%、40%。表示一天中有80%的請求發(fā)生在一天的40%的時(shí)間內(nèi)。24小時(shí)的40%是9.6小時(shí),有80%的請求發(fā)生一天的9.6個(gè)小時(shí)當(dāng)中(很適合互聯(lián)網(wǎng)的應(yīng)用,白天請求多,晚上請求少)。?

?

簡單計(jì)算的結(jié)果:
((80%*500萬)/(24小時(shí)*60分*60秒*40%))/1 = 115.7個(gè)請求/秒?
((80%*100萬)/(24小時(shí)*60分*60秒*40%))/1 = 23.1個(gè)請求/秒?

初步結(jié)論:?
現(xiàn)在我們在做壓力測試時(shí),就有了標(biāo)準(zhǔn),如果你的服務(wù)器一秒能處理115.7個(gè)請求,就可以承受500萬PV/每天。如果你的服務(wù)器一秒能處理23.1個(gè)請求,就可以承受100萬PV/每天

?

留足余量:

以上請求數(shù)量均勻的分布在白天的9.6個(gè)小時(shí)中,但實(shí)際情況并不會這么均勻的分布,會有高峰有低谷。為了應(yīng)對高峰時(shí)段,應(yīng)該留一些余地,最少也要x2倍,x3倍也不為過。

115.7個(gè)請求/秒?*2倍=231.4個(gè)請求/秒

115.7個(gè)請求/秒?*3=347.1個(gè)請求/秒

23.1個(gè)請求/秒?*2=46.2個(gè)請求/秒

23.1個(gè)請求/秒?*3=69.3個(gè)請求/秒

?

最終結(jié)論:

如果你的服務(wù)器一秒能處理231.4--347.1個(gè)請求/秒,就可以應(yīng)對平均500萬PV/每天。

如果你的服務(wù)器一秒能處理46.2--69.3個(gè)請求,就可以應(yīng)對平均100萬PV/每天

?

說明:

這里說明每秒N個(gè)請求,就是QPS。因?yàn)槲谊P(guān)心的是應(yīng)用程序處理業(yè)務(wù)的能力。?

?

實(shí)際經(jīng)驗(yàn):

1、根據(jù)實(shí)際經(jīng)驗(yàn),采用兩臺常規(guī)配置的機(jī)架式服務(wù)器,配置是很常見的配置,例如一個(gè)4核CPU+4G內(nèi)存+服務(wù)器SAS硬盤

2、個(gè)人武斷的認(rèn)為在服務(wù)器CPU領(lǐng)域Intel的CPU要優(yōu)于AMD的CPU,有反對的就反對吧,我都說我武斷了(請看CPU性能比較),不要太相信AMD的廣告,比較CPU性能簡單辦法就是比價(jià)格,不要比頻率與核心數(shù),價(jià)格相差不多的性能也相差不多。

3、硬盤的性能很重要,由其是數(shù)據(jù)庫服務(wù)器。一般的服務(wù)器都配1.5萬轉(zhuǎn)的SAS硬盤,高級一點(diǎn)的可以配SSD固態(tài)硬盤,性能會更好。最最最最重要的指標(biāo)是“隨機(jī)讀寫性能”而不是“順序讀寫性能”。(本例還是配置最常見的1.5萬轉(zhuǎn)的SAS硬盤吧

4、一臺服務(wù)器跑Tomcat運(yùn)行j2ee程序,一臺服務(wù)器跑MySql數(shù)據(jù)庫,程序?qū)懙闹械人?這個(gè)真的不好量化),是論壇類型的應(yīng)用(總有回帖,不太容易做緩存,也無法靜態(tài)化)。

5、以上軟硬件情況下,是可以承受100萬PV/每天的。(已留有余量應(yīng)對突然的訪問高峰)

?

注意機(jī)房的網(wǎng)絡(luò)帶寬:

有人說以上條件我都滿足了,但實(shí)際性能還是達(dá)不到目標(biāo)。這時(shí)請注意你對外的網(wǎng)絡(luò)的帶寬,在國內(nèi)服務(wù)器便宜但帶寬很貴,很可能你在機(jī)房是與大家共享一條100M的光纖,實(shí)際每個(gè)人可分到2M左右?guī)挕T俸靡稽c(diǎn)5M,再好一點(diǎn)雙線機(jī)房10M獨(dú)享,這已經(jīng)很貴了(北京價(jià)格)。

一天總流量:每個(gè)頁面20k字節(jié)*100萬個(gè)頁面/1024=19531M字節(jié)=19G字節(jié),

19531M/9.6小時(shí)=2034M/小時(shí)=578K字節(jié)/s ? 如果請求是均勻分布的,需要5M640K字節(jié)帶寬(5Mb=640KB 注意大小寫,b是位,B是字節(jié),差了8倍),但所有請求不可能是均勻分布的,當(dāng)有高峰時(shí)5M帶寬一定不夠,X2倍就是10M帶寬。10M帶寬基本可以滿足要求。

以上是假設(shè)每個(gè)頁面20k字節(jié),基本不包含圖片,要是包含圖片就更大了,10M帶寬也不能滿足要求了。你自已計(jì)算吧。

(全文完)

?

?

?

附:性能測試基本概念
---------------------------------------------------------------------------------------?
基本概念:?
Throughput(吞吐量):按照常規(guī)理解網(wǎng)絡(luò)吞吐量表示在單位時(shí)間內(nèi)通過網(wǎng)卡數(shù)據(jù)量之和,其中即包括本機(jī)網(wǎng)卡發(fā)送出去的數(shù)據(jù)量也包括本機(jī)網(wǎng)卡接收到的數(shù)據(jù)量。 一個(gè)100Mb(位)的雙工網(wǎng)卡,最大發(fā)送數(shù)據(jù)的速度是12.5M字節(jié)/s ,
?最大接收數(shù)據(jù)的速度是12.5M字節(jié)/s,?可以?同時(shí)?收發(fā)?數(shù)據(jù)。?
并發(fā)用戶數(shù):是同時(shí)執(zhí)行操作的用戶(線程數(shù))。?
響應(yīng)時(shí)間:從請求發(fā)出到收到響應(yīng)花費(fèi)的時(shí)間 。


QPS?
- Queries Per Second??每秒處理的查詢數(shù)(如果是數(shù)據(jù)庫,就相當(dāng)于讀取)
TPS?
- Transactions Per Second??每秒處理的事務(wù)數(shù)(如果是數(shù)據(jù)庫,就相當(dāng)于寫入、修改)
IOPS,每秒磁盤進(jìn)行的I/O操作次數(shù)

例如對某個(gè)數(shù)據(jù)庫測試,分開兩次測QPS與TPS。
QPS(讀取)值總是高于TPS(寫、改),并且有倍率關(guān)系,因?yàn)?#xff1a;
1、數(shù)據(jù)庫對查詢可能有緩存。
2、機(jī)械硬盤或SSD硬盤的讀就是比寫快。
?
---------------------------------------------------------------------------------------?
JMeter測試參數(shù)說明:?

Label:每一個(gè)測試單元的名字。?

#Samples:表示一個(gè)測試單元一共發(fā)出了多少個(gè)請求。?

Average:平均響應(yīng)時(shí)間——默認(rèn)情況下是單個(gè) Request 的平均響應(yīng)時(shí)間,當(dāng)使用了 Transaction Controller 時(shí),也可以以Transaction 為單位顯示平均響應(yīng)時(shí)間。,不重要。?

Median:中位數(shù),也就是 50% 用戶的響應(yīng)時(shí)間,如果把響應(yīng)時(shí)間從小到大順序排序,那么50%的請求的響應(yīng)時(shí)間在這個(gè)范圍之內(nèi)。重要。?

90% Line:90% 用戶的響應(yīng)時(shí)間,如果把響應(yīng)時(shí)間從小到大順序排序,那么90%的請求的響應(yīng)時(shí)間在這個(gè)范圍之內(nèi)。重要?。?

Min:最小響應(yīng)時(shí)間,不重要。?

Max:最大響應(yīng)時(shí)間,出現(xiàn)幾率只不過是千分之一甚至萬分之一,不重要。?

Error%:本次測試中出現(xiàn)錯(cuò)誤的請求的數(shù)量?

Throughput:吞吐量——默認(rèn)情況下表示每秒完成的請求數(shù)(Request per Second),當(dāng)使用了 Transaction Controller 時(shí),也可以表示類似 LoadRunner 的 Transaction per Second 數(shù)?

KB/Sec:每秒從服務(wù)器端接收?到的數(shù)據(jù)量(只是接收),相當(dāng)于LoadRunner中的Throughput/Sec?
---------------------------------------------------------------------------------------?
loadrunner測試參數(shù)說明:?

響應(yīng)時(shí)間:?取90%值,如果把響應(yīng)時(shí)間從小到大順序排序,那么90%的請求的響應(yīng)時(shí)間在這個(gè)范圍之內(nèi)。重要。?

每秒點(diǎn)擊數(shù)?:hits per Second,每秒鐘向服務(wù)器提交請求的數(shù)量。?

TPS:?Transaction per Second ,每秒事務(wù)數(shù),一個(gè)事務(wù)是指一個(gè)客戶機(jī)向服務(wù)器發(fā)送請求然后服務(wù)器做出反應(yīng)的過程?

Throughput(吞吐量):?Loadrunner記錄的Throughput是接收到服務(wù)器返回的所有字節(jié)數(shù)之和,與本地發(fā)出的字節(jié)數(shù)無關(guān)。?

Throughput/Sec:?每秒的吞吐量。?

對于BS架構(gòu)的一般分析 響應(yīng)時(shí)間、點(diǎn)擊率、吞吐量、TPS(每秒事務(wù)數(shù))。?
對于CS架構(gòu)的一般分析 TPS(每秒事務(wù)數(shù))?

---------------------------------------------------------------------------------------?
Apache ab測試參數(shù)說明:?

RPS:?Request per Second,每秒處理的請求數(shù)?
詳見:?
http://blog.chinaunix.net/u3/108043/showart_2260477.html


轉(zhuǎn)載于:https://my.oschina.net/ydsakyclguozi/blog/387751

總結(jié)

以上是生活随笔為你收集整理的你想建设一个能承受500万PV/每天的网站吗?如果计算呢?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。