高併發處理方案

2022-07-15 16:00:13 字數 1248 閱讀 2351

原文:

時常看到高併發的問題,但高併發其實是最不需要考慮的東西。為何,他虛無縹緲,很少有**真的需要這些東西,而且其中很多技術,其實你已經在用了。有這個意識就夠了,不需要時刻盯著這個問題。只有很少的**真的能達到高併發。

簡單做乙個歸納,從低成本、高效能和高擴張性的角度來說有如下處理方案:

1、html靜態化

2、伺服器分離

3、資料庫集群和庫表雜湊

4、快取

5、映象

6、負載均衡;乙個典型的使用負載均衡的策略就是,在軟體或者硬體四層交換的基礎上搭建squid集群,這種思路在很多大型**包括搜尋引擎上被採用,這樣的架構低成本、高效能還有很強的擴張性,隨時往架構裡面增減節點都非常容易。

下面也是乙個牛人所做的總結,跟上面部分相同。

高併發時,效能瓶頸及當前常用的應對措施

1.資料庫瓶頸。mysql併發鏈結100

2.apache 併發鏈結1500

3.程式執行效率

1.有資料庫瓶頸時,當前處理方案無外乎 主從,集群。增加cache(memcached).

如:手機之家新系統介紹及架構分享(

就是在cache層做優化

又拍網架構(

是以增加資料庫,分表分庫的方法解決。

sina增加了mq(訊息佇列)來分發資料。

還有風站用了key-value的資料庫。其實這可以理解成乙個持久化的快取。

2.apache瓶頸。

增加伺服器。負載均衡。如sina的f5

由於程序數的限制。會把一些基本不變的**挪出來放到單獨的伺服器。如css/js/。

國內成功的案例是tom的cdn

又如nginx的橫空出世和squid的反向**都是基於這個原因出來的。

3.php的執行效率。原因有多個。

1).本身的效率低。

解決的成功案例是zend optimizer 和 facebooke的hiphop

taobao是把php**編譯成模組解決效率問題。

2). 資料庫查詢效率問題。如可能有order by ,group by 等sql資料問題。

這個其實應該歸結到資料庫設計問題。

解決的辦法是建立正確的索引。增加memcache.。

對like表 用專用的sphinx.和lucence 等搜尋服務。

程式設計師都應該會用explain對sql語句作分析。

說到底。解決高併發就是上面所列技術,程式設計師要做的就是把每個技術具體實現。

高併發處理方案

時常看到高併發的問題,但高併發其實是最不需要考慮的東西。為何,他虛無縹緲,很少有 真的需要這些東西,而且其中很多技術,其實你已經在用了。有這個意識就夠了,不需要時刻盯著這個問題。只有很少的 真的能達到高併發。簡單做乙個歸納,從低成本 高效能和高擴張性的角度來說有如下處理方案 1 html靜態化 2 ...

高併發處理方案

時常看到高併發的問題,但高併發其實是最不需要考慮的東西。為何,他虛無縹緲,很少有 真的需要這些東西,而且其中很多技術,其實你已經在用了。有這個意識就夠了,不需要時刻盯著這個問題。只有很少的 真的能達到高併發。簡單做乙個歸納,從低成本 高效能和高擴張性的角度來說有如下處理方案 1 html靜態化 2 ...

高併發處理方案

時常看到高併發的問題,但高併發其實是最不需要考慮的東西。為何,他虛無縹緲,很少有 真的需要這些東西,而且其中很多技術,其實你已經在用了。有這個意識就夠了,不需要時刻盯著這個問題。只有很少的 真的能達到高併發。簡單做乙個歸納,從低成本 高效能和高擴張性的角度來說有如下處理方案 1 html靜態化 2 ...