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