1秒1000并發,高并發需要什么樣的服務器?
目前使用的是MongoDB數據庫,需要4天的豪華云主機才勉強達到每秒8900并發。
如果需要根據數據量和業務復雜程度綜合評估硬件水平,建議購買兩臺云主機(4核8g內存)搭建集群環境。然后根據實際需要進行擴展。
軟件級別:
首先,如果是寫操作,它應該:
1.1使用消息隊列進行異步處理(如activemq等。)以避免消息擁塞。
1.2使用MongoDB的批量寫功能,比如每1000條數據寫一次。
第二,MongoDB采用集群模式部署,可以分散壓力。
第三,如果是讀操作,可以考慮添加redis,一級緩存熱點數據。
每秒1000的并發不算太高,簡單優化一下就行了,現在一般服務器應該可以支持。首先看一下linux系統的線程池分配和io限制。
當然不建議讓數據庫抗頻繁高并發。應該在整體架構上優化,架構緩存服務器是否可以考慮在數據庫上層,針對具體業務做一些優化。
多讀還是多寫,索引是怎么建立的?什么是慢速sql?單次訪問的數據量是多少?
從正常的角度來看,還遠遠談不上數據庫的性能瓶頸,具體問題具體分析。
硬件似乎夠用,程序優化更重要。
一般情況下,一個人站幾千是沒問題的。根據你的情況,問題可能在兩個方面:web服務的io或者DB。
影響web服務性能的關鍵因素是io和線程模型。web框架的性能(netty,mina等。)的nio用epoll系列會比bio高很多。
其次是DB、索引、os頁面緩存等等。
一個1000塊錢的程序員,可以寫出每秒1000個訂單的服務器。
寬帶肯定是幾十兆,硬件其實也沒問題。現在你可以用一臺非常便宜的pc來做一個分布式架構。至于內存和硬盤的大小,主要是根據數據和存儲的大小來決定的。希望我的回答能幫到你!
大數據時代,大數據培訓都學些什么呢?
一般來說,IT培訓機構開設的大數據培訓課程主要是學習大數據應用與開發的技術。
主要課程基于javase。然后開始學習基于java的hadoop框架。當然,我也會涉獵spank和storm。你還將學習python,一種編程語言。
大數據應用級開發工程師只是其中一個小的技術方向。大數據有很多技術領域,比如數據分析、數據挖掘、可視化開發等。
而數據分析、數據挖掘等技術方向對理論知識的要求非常高,是無法培養出來的。一些培訓機構開設此類專業要慎重。因為高等數學,離散數學,統計,概率都不是短時間能培養出來的。