1、mysql并發(fā)訪問 我寫了個服務,使用Java寫的,發(fā)布在Tomcat上。發(fā)布Tomcat的服務器,如何保證高并發(fā)訪問?我是需要提高機器的cpu還是內存呢?MySQL數(shù)據(jù)庫如何設置呢?希望有經驗的人給我指點一下,多謝大家。
創(chuàng)新互聯(lián)是一家專注于做網站、網站制作與策劃設計,泰興網站建設哪家好?創(chuàng)新互聯(lián)做網站,專注于網站建設十余年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:泰興等地區(qū)。泰興做網站價格咨詢:18980820575
2、以目前的硬件條件,無論你怎么優(yōu)化,都不可能在生產環(huán)境中做到“每秒1000次的并發(fā)訪問”,除非你拿來做測試的是只有幾條數(shù)據(jù)的表和最簡單的查詢。 如果你完全不懂負載平衡,讀寫分離,群集這些概念的話。
3、假如沒有索引的話,explain會顯示返回查詢全表的數(shù)據(jù)自然會很慢了。假如用到了索引的話,可以快速的找到需要查詢的區(qū)間里的數(shù)據(jù),往往需要查詢的數(shù)據(jù)量是全表的1/100,1/1000,那么這時候花費的時間就是1/100,1/1000了。
4、在新建臨時表時,如果一次性插入數(shù)據(jù)量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果數(shù)據(jù)量不大,為了緩和系統(tǒng)表的資源,應先create table,然后insert。
5、當請求過多時,水直接溢出??梢钥闯?,漏桶算法可以強制限制數(shù)據(jù)的傳輸速度。如圖所示,把請求比作是水滴,水先滴到桶里,通過漏洞并以限定的速度出水,當水來得過猛而出水不夠快時就會導致水直接溢出,即拒絕服務。
mysql高并發(fā)的解決方法有:優(yōu)化SQL語句,優(yōu)化數(shù)據(jù)庫字段,加緩存,分區(qū)表,讀寫分離以及垂直拆分,解耦模塊,水平切分等。
漏桶算法 漏桶算法的原理比較簡單,請求進入到漏桶中,漏桶以一定的速率漏水。當請求過多時,水直接溢出??梢钥闯觯┩八惴梢詮娭葡拗茢?shù)據(jù)的傳輸速度。
也有廉價的通過軟件實現(xiàn)的思路,比如Linux上的rsync等工具。負載均衡 負載均衡將是大型網站解決高負荷訪問和大量并發(fā)請求采用的終極解決辦法。 負載均衡技術發(fā)展了多年,有很多專業(yè)的服務提供商和產品可以選擇。
大數(shù)據(jù)并發(fā)處理解決方案:HTML靜態(tài)化 效率最高、消耗最小的就是純靜態(tài)化的html頁面,所以盡可能使網站上的頁面采用靜態(tài)頁面來實現(xiàn),這個最簡單的方法其實也是最有效的方法。
令牌桶算法 令牌桶算法的原理是系統(tǒng)以一定速率向桶中放入令牌,如果有請求時,請求會從桶中取出令牌,如果能取到令牌,則可以繼續(xù)完成請求,否則等待或者拒絕服務。這種算法可以應對突發(fā)程度的請求,因此比漏桶算法好。
mysql處理大數(shù)據(jù)很困難吧,不建議使用mysql來處理大數(shù)據(jù)。mysql有個針對大數(shù)據(jù)的產品,叫infobright,可以看看,不過好像是收費的?;蛘哐芯肯拢琀adoop,Hive等,可處理大數(shù)據(jù)。
1、也有廉價的通過軟件實現(xiàn)的思路,比如Linux上的rsync等工具。負載均衡 負載均衡將是大型網站解決高負荷訪問和大量并發(fā)請求采用的終極解決辦法。 負載均衡技術發(fā)展了多年,有很多專業(yè)的服務提供商和產品可以選擇。
2、當請求過多時,水直接溢出??梢钥闯?,漏桶算法可以強制限制數(shù)據(jù)的傳輸速度。如圖所示,把請求比作是水滴,水先滴到桶里,通過漏洞并以限定的速度出水,當水來得過猛而出水不夠快時就會導致水直接溢出,即拒絕服務。
3、針對這種情況,我們如何有效的處理數(shù)據(jù)并發(fā)呢?第一種方案、數(shù)據(jù)庫鎖 從鎖的基本屬性來說,可以分為兩種:一種是共享鎖(S),一種是排它鎖(X)。