当前位置:网站首页>高並發軟件(網站,服務器端接口)的評價指標
高並發軟件(網站,服務器端接口)的評價指標
2022-06-29 14:50:00 【河北强商網絡科技有限公司】
評價一個網站的“大小”,處於視角的不同,有很多種衡量的方法,類似文章數,頁面數之類的數據非常明顯,也沒有什麼可以爭議的。但對於並發來說,爭議非常之多,這裏就從一個技術的角度開始,談談幾個Web網站的數量級。
相信很多人談論一個網站的熱度,總免不了會詢問日均PV,同時在線人數、注册用戶數等運營數據,說實話從技術角度來說,這幾個數值沒有一個可以放在一起比較的——一個靜態網站的PV跟一個SNS類/Web Game網站的PV根本就不是一回事。由於互聯網有一個傳說中的“3秒定律”,可能當下更多的網站技術指標要求1.5秒以內加載整頁,或者至少可以達到閱讀的標准。如果要較真什麼“同時在線”,毫不客氣的說,對於HTTP這類短鏈接的網絡協議來說,在WebSocket還不普及的時代,能統計在線純屬扯淡,唯一能做的只是取個時間段,計算下訪問用戶而已。這些依然可以換算成QPS(Quest Per Second每秒請求數)。就並發而言,我唯一推崇的只有理論最大QPS和悲觀QPS。
這裏就大致根據理論最大QPS,給網站做幾個分類
50QPS以下——小網站
沒什麼好說的,簡單的小網站而已,你可以用最簡單的方法快速搭建,短期沒有太多的技術瓶頸,只要服務器不要太爛就好。
50~100QPS——DB極限型
大部分的關系型數據庫的每次請求大多都能控制在0.01秒左右,即便你的網站每頁面只有一次DB請求,那麼頁面請求無法保證在1秒鐘內完成100個請求,這個階段要考慮做Cache或者多DB負載。無論那種方案,網站重構是不可避免的。
300~800QPS——帶寬極限型
目前服務器大多用了IDC提供的“百兆帶寬”,這意味著網站出口的實際帶寬是8M Byte左右。假定每個頁面只有10K Byte,在這個並發條件下,百兆帶寬已經吃完。首要考慮是CDN加速/异地緩存,多機負載等技術。
500~1000QPS——內網帶寬極限+Memcache極限型
由於Key/value的特性,每個頁面對memcache的請求遠大於直接對DB的請求,Memcache的悲觀並發數在2w左右,看似很高,但事實上大多數情况下,首先是有可能在次之前內網的帶寬就已經吃光,接著是在8K QPS左右的情况下,Memcache已經錶現出了不穩定,如果代碼上沒有足够的優化,可能直接將壓力轉嫁到了DB層上,這就最終導致整個系統在達到某個閥值之上,性能迅速下滑。
1000~2000QPS——FORK/SELECT,鎖模式極限型
好吧,一句話:線程模型决定吞吐量。不管你系統中最常見的鎖是什麼鎖,這個級別下,文件系統訪問鎖都成為了灾難。這就要求系統中不能存在中央節點,所有的數據都必須分布存儲,數據需要分布處理。總之,關鍵詞:分布
2000QPS以上——C10K極限
盡管現在很多應用已經實現了C25K,但短板理論告訴我們,决定網站整體並發的永遠是最低效的那個環節。我承認我生涯中從未遇到過2000QPS以上,甚至1.5K以上的網站,希望有此經驗的哥們可以一起交流下。
边栏推荐
- 利用多态实现简单的计算器
- .NET程序配置文件操作(ini,cfg,config)
- Which is better and safer for Dongguan Humen securities company to open a stock account?
- JS will have variable promotion and function promotion
- [shell] Jenkins shell realizes automatic deployment
- [QT tutorial] QPushButton key and double click effect
- How does a two character name become a three character name with spaces
- 知乎热议:一个程序员的水平能差到什么程度?
- Thanos store component
- 【重要通知】中国图象图形学学会2022年度系列奖励推荐工作启动
猜你喜欢

Practical application cases of drives

EXCEL的查询功能Vlookup

PostgreSql学习(基于菜鸟课程)
![[important notice] the 2022 series of awards and recommendations of China graphics society were launched](/img/ae/2fe0cf9964e5fd3b18e5f295638d8b.png)
[important notice] the 2022 series of awards and recommendations of China graphics society were launched

关于项目采购管理,这些你需要知道

校园跑腿微信小程序跑腿同学带直播新版源码

stm32 mbed 入门教程(四)---PWM

Zhimeng dedecms resource material tutorial download website template source code (with mobile terminal) with installation tutorial

网易严选离线数仓质量建设实践

华曙高科冲刺科创板:拟募资6.6亿 实控人许小曙父子均为美国籍
随机推荐
Swagger2的配置教程
常用postgresql数据操作备忘:时间
Uniapp problem list and experience
I want to search the hundreds of nodes in the data warehouse. Can I check a table used in the SQL
QRCode自定义二维码中间图片
华曙高科冲刺科创板:拟募资6.6亿 实控人许小曙父子均为美国籍
Which is better and safer for Dongguan Humen securities company to open a stock account?
June 27 talk SofiE
FIFO implementation with single port RAM
VeeamBackup&Replication简介
论文学习——考虑场次降雨年际变化特征的年径流总量控制率准确核算
Laravel - Composer 安装指定 Laravel 版本
Asynchronous artifact completable future
部署搭建decentraland流程讲解
国内十大券商,有哪些安全吗?
[QT tutorial] QPushButton key and double click effect
Redis的数据过期清除策略 与 内存淘汰策略
【Qt 教程】QPushButton 按键和双击效果
传输层 用户数据报协议(UDP)
Whitelabel error page access