|
四樓: “ 從哲學(xué)上說,消除瓶頸是提高服務(wù)器性能和并發(fā)能力的唯一途徑。如果你能夠消除所有的瓶頸,你就能夠最大的發(fā)揮硬件性能,讓系統(tǒng)的性能和并發(fā)數(shù)到達(dá)最佳。 采用多線程多核編程,使用事件驅(qū)動或異步消息機(jī)制,盡量減少阻塞和等待操作(如I/O阻塞、同步等待或計時/超時等)。 原理: 1、多線程多核編程,消除cpu瓶頸。 2、采用IOCP或epoll,利用狀態(tài)監(jiān)測和通知方式,消除網(wǎng)絡(luò)I/O阻塞瓶頸。 3、采用事件驅(qū)動或異步消息機(jī)制,可以消除不必要的等待操作。 4、如果是Linux,可以采用AIO來消除磁盤I/O阻塞瓶頸。 5、在事件驅(qū)動框架或異步消息中統(tǒng)一處理timer事件,變同步為異步,而且可以在一個線程處理無數(shù)timer事件。 6、深入分析外部的阻塞來源,消除它。 比如數(shù)據(jù)庫查詢較慢,導(dǎo)致服務(wù)器處理較慢,并發(fā)數(shù)上不去,這時就要優(yōu)化數(shù)據(jù)庫性能。 7、如果與某個其他server通信量很大,導(dǎo)致性能下降較多。 可以考慮把這兩個server放在一個主機(jī)上,采用共享內(nèi)存的方式來做IPC通信,可以大大提高性能。 ” |
|
|