程序员们的三高:高并发、高性能、高可用
你們知道淘寶,京東這些購(gòu)物商場(chǎng)嗎?他們到了雙11,雙12為什么能支持全國(guó)14億人口同時(shí)購(gòu)物下單呢,因?yàn)樗麄兊某绦蜃龅搅烁卟l(fā)、高性能、高可用。那么你對(duì)程序員的三高了解多少呢?
高并發(fā)
一. 高并發(fā)
高并發(fā)是現(xiàn)在互聯(lián)網(wǎng)分布式框架設(shè)計(jì)必須要考慮的因素之一,它是可以保證系統(tǒng)能被同時(shí)并行處理很多請(qǐng)求,對(duì)于高并發(fā)來(lái)說(shuō),它的指標(biāo)有:
響應(yīng)時(shí)間:系統(tǒng)對(duì)進(jìn)來(lái)的請(qǐng)求反應(yīng)的時(shí)間,比如你打開(kāi)一個(gè)頁(yè)面需要1秒,那么這1秒就是響應(yīng)時(shí)間。吞吐量:吞吐量是指每秒能處理多少請(qǐng)求數(shù)量,好比你吃飯,每秒能吃下多少顆米飯。秒查詢率:秒查詢率是指每秒響應(yīng)請(qǐng)求數(shù),和吞吐量差不多。并發(fā)用戶數(shù):同時(shí)承載正常使用系統(tǒng)功能的用戶數(shù)量。例如一個(gè)即時(shí)通訊系統(tǒng),同時(shí)在線量一定程度上代表了系統(tǒng)的并發(fā)用戶數(shù)。
高性能
二. 高性能
什么是高性能呢?高性能是指程序處理速度非常快,所占內(nèi)存少,cpu占用率低。高性能的指標(biāo)經(jīng)常和高并發(fā)的指標(biāo)緊密相關(guān),想要提高性能,那么就要提高系統(tǒng)發(fā)并發(fā)能力,兩者互相捆綁在一起。應(yīng)用性能優(yōu)化的時(shí)候,對(duì)于計(jì)算密集型和IO密集型還是有很大差別,需要分開(kāi)來(lái)考慮。還有可以增加服務(wù)器的數(shù)量,內(nèi)存,IO等參數(shù)提升系統(tǒng)的并發(fā)能力和性能,但不要浪費(fèi)資源,要考慮硬件的使用率最高才能發(fā)揮到極致。
怎么樣提高性能呢?
1.避免因?yàn)镮O阻塞讓CPU閑置,導(dǎo)致CPU的浪費(fèi)
2.避免多線程間增加鎖來(lái)保證同步,導(dǎo)致并行系統(tǒng)串行化
3.避免創(chuàng)建、銷(xiāo)毀、維護(hù)太多進(jìn)程、線程,導(dǎo)致操作系統(tǒng)浪費(fèi)資源在調(diào)度上
高可用
三. 高可用
高可用通常來(lái)描述一個(gè)系統(tǒng)經(jīng)過(guò)專(zhuān)門(mén)的設(shè)計(jì),從而減少停工時(shí)間,而保持其服務(wù)的高度可用性。高可用注意如果使用單機(jī),一旦掛機(jī)將導(dǎo)致服務(wù)不可用,可以使用集群來(lái)代替單機(jī),一臺(tái)服務(wù)器掛了,還有其他后備服務(wù)器能夠頂上?;蛘呤褂梅植际讲渴痦?xiàng)。比如現(xiàn)在redis的高可用的集群方案有: Redis單副本,Redis多副本(主從),Redis Sentinel(哨兵),Redis Cluster,Redis自研。
總結(jié)
以上是生活随笔為你收集整理的程序员们的三高:高并发、高性能、高可用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 央行宣布降息0.25个百分点,7月1日起
- 下一篇: .net开源框架开源类库(整理)