mongodb數(shù)據(jù)庫使用規(guī)范 1秒1000并發(fā),高并發(fā)需要什么樣的服務(wù)器?
1秒1000并發(fā),高并發(fā)需要什么樣的服務(wù)器?目前是是用MongoDB數(shù)據(jù)庫,用不四臺(tái)天互的奢華云主機(jī)才再次至少三秒百并發(fā)。硬件層面要根據(jù)數(shù)據(jù)量,業(yè)務(wù)急切度互相綜合評估的,我建議你先買兩臺(tái)云主機(jī)(4核8
1秒1000并發(fā),高并發(fā)需要什么樣的服務(wù)器?
目前是是用MongoDB數(shù)據(jù)庫,用不四臺(tái)天互的奢華云主機(jī)才再次至少三秒百并發(fā)。
硬件層面要根據(jù)數(shù)據(jù)量,業(yè)務(wù)急切度互相綜合評估的,我建議你先買兩臺(tái)云主機(jī)(4核8g內(nèi)存)壘建集群環(huán)境就行。后繼再據(jù)求實(shí)際不需要擴(kuò)展。
軟件層面:
一、如果不是是寫入你的操作的,應(yīng)該是:
1.1可以使用消息隊(duì)列來同步異步如何處理(如activemq等),盡量避免消息賭塞
1.2建議使用MongoDB的批量中寫入功能,比如說每1000條數(shù)據(jù)才寫入到兩次
二、MongoDB重新部署為集群模式,這個(gè)可以分散壓力
三、要是是讀取文件操作,這個(gè)可以考慮到一并加入redis,將熱點(diǎn)數(shù)據(jù)通過一級(jí)緩存
1秒1000的并發(fā)不是什么太高,如果簡單的優(yōu)化下就行了,現(xiàn)在就像的服務(wù)器應(yīng)該要都能夠支撐。首先看看吧線程池分配,看看linux系統(tǒng)的io數(shù)限制。
不過不見意讓數(shù)據(jù)庫去抗正常的高并發(fā),肯定在整體架構(gòu)上面作優(yōu)化系統(tǒng),在數(shù)據(jù)庫上層會(huì)不會(huì)可以考慮架構(gòu)緩存服務(wù)器,有是對具體詳細(xì)業(yè)務(wù)做些系統(tǒng)優(yōu)化。
讀多我還是寫多,索引建得如何能?慢sql有哪些?單次訪問數(shù)據(jù)量如何能?
從正常嗎角度講,仍舊還沒有到數(shù)據(jù)庫的性能瓶頸,具體詳細(xì)問題要具體看分析。
硬件外表看來就夠,程序優(yōu)化都很重要的是
正常嗎情況單機(jī)抗幾千那妥沒問題啊,看你的情況問題可能會(huì)出在兩方面:web服務(wù)的io或DB。
web服務(wù)的性能關(guān)鍵因素是io和線程模型,如果不是區(qū)分epoll系列的nio的web框架(netty,mina等)性能比起bio會(huì)高n多。
如果你是那就是DB,索引,os的頁緩存等等。
一千塊的程序員都能寫一秒種一千單的服務(wù)器
寬帶那肯定是要千兆的,硬件這塊當(dāng)然而且,現(xiàn)在這個(gè)可以用很廉價(jià)的pc來做分布式的架構(gòu),當(dāng)然了內(nèi)存和硬盤的大小比較多是依據(jù)數(shù)據(jù)量的大小和存儲(chǔ)多少來判斷的。我希望我的回答能好處到你!
在windows系統(tǒng)上怎么才能把mongodb做成純的內(nèi)存數(shù)據(jù)庫?
可能有cache在內(nèi)存里,不好算還是放到存儲(chǔ)里面.是為能提高讀取文件的效率,把常用的數(shù)據(jù)放到內(nèi)存中,提升到高效緩存的目的,要看數(shù)據(jù)庫本身的參數(shù)設(shè)置,不過數(shù)據(jù)庫緩沖池設(shè)置中的愈大,無法讀取的效率就越高.