當前位置:首頁 » 網上商城 » 商城如何解決高並發問題面試

商城如何解決高並發問題面試

發布時間: 2021-03-01 13:55:39

Ⅰ java程序員面試時被問到:如何在j2ee項目中處理高並發量訪問 該怎麼回答 請仔細看題干再回答

你好,高並發系統的設計需要注意一下幾點:
盡量使用緩存,包括用戶緩存,版信息緩存等,多花點內存權來做緩存,可以大量減少與資料庫的交互,提高性能。
用jprofiler等工具找出性能瓶頸,減少額外的開銷。
優化資料庫查詢語句,減少直接使用hibernate等工具的直接生成語句(僅耗時較長的查詢做優化)。
優化資料庫結構,多做索引,提高查詢效率。
統計的功能盡量做緩存,或按每天一統計或定時統計相關報表,避免需要時進行統計的功能。

能使用靜態頁面的地方盡量使用,減少容器的解析(盡量將動態內容生成靜態html來顯示)。
解決以上問題後,使用伺服器集群來解決單台的瓶頸問題。
基本上以上述問題解決後,達到系統最優。

至於樓上有人提到別用JAVA來做,除非是低層的連接數過大(如大量的埠佔用需求),這種情況下考慮直接C來寫,其他的可以用JAVA來做。

Ⅱ 面試Java開發時問到高並發怎麼處理的,還有sql優化有哪些辦法,有哪位大神知道啊,新手!!

Java開發高並發的處理方法:

  1. 最基礎的地方做起,優化我們寫的代碼,減少必要的資源浪費


    避免頻繁的使用new對象,對於整個應用只需要存在一個實例的類,我們可以使用單例模式。對於String連接操作,使用StringBuffer或StringBuilder,對於工具類可以通過靜態方法來訪問。


    避免使用錯誤的方式,盡量不用instanceof做條件判斷。使用java中效率高的類,比如ArrayList比Vector性能好。

  2. 圖片伺服器分離


    對於web伺服器來說,圖片是最消耗資源的,於是我們有必要把圖片與頁面進行分離,我們把圖片放到獨立的圖片伺服器。這樣的架構可以降低提供頁面訪問請求的伺服器系統壓力,並且可以保證系統不會因為圖片的問題而崩潰。在圖片伺服器上,我們可以對不同的配置進行優化。

  3. 緩存


    具體接觸過的緩存機制是hibernate的緩存機制。為了避免每次都向資料庫中取得數據,我們把用戶常常訪問到的數據放到內存中,甚至緩存十分大的時候我們可以把內存中的緩存放到硬碟中。還有高級的分布式緩存資料庫使用,都可以增加系統的抗壓力。

  4. 分批傳送

在做某項目的時候,一次傳遞的參數太多,而且資料庫規定一次最多傳遞的參數最多是三萬條,當時有五萬條記錄,那怎麼傳送呢?最終是分批傳送,電梯里一次乘不下那麼多的人,會報超重的bug,那就分批把人送上去。

還有一次在考試系統中,如果那麼多的考試人員同時提交到資料庫中,資料庫的壓力增大,有時會被down掉,當時採用的方法是使用ajax非同步傳輸,沒有等待考生點擊提交按鈕的時候,就把考生的答案自動提交,這樣也避免了突然斷電考生前面做過的題出現丟失的現象。

DB優化

  • 在資料庫設計的時候就要考慮到後期的維護,資料庫三範式是我們設計資料庫索要遵循的原則。

  • 索引的建立:建立索引要適當,如果一個表經常用來被查詢,對於增加和修改很少被用到,我們就可以為這個表建立索引,因為對於增加和修改和刪除操作時,我們對索引的維護要大大超過索引給我們帶來的效率。

  • 表欄位的類型選擇要恰當。包括欄位的長度、類型等,要根據實際存儲的數據進行選擇,長度不要過長,否則會影響效率。

  • 外鍵要慎用,因為主鍵代表這一張表,而外鍵代表一群表,對表之間進行了關聯,在刪除修改等需要我們關聯。

  • 在資料庫操作上。 盡量使用prepareStatement,少用Statement,因為PrepareStatement是進行預編譯的。

    connection設置為readOnly,Connection是對書庫連接,屬於重量級,我們使用即可。

    連接池的使用,我們可以修改資料庫默認的連接數。

Ⅲ 面試問題:面試的時候,問實際項目中如何處理高並發問

線程池控制線程數,事件循環實現非阻塞io,多利用緩存,分布式橫向擴容。

Ⅳ 如何解決高並發問題

建議採用緩存處抄理,按照你說的這種數據量,基於redis的緩存完全可以滿足,存取速度可以10W+的,另外,擬採用的hashMap 是ConcurrentHashMap還是其他,頁面展示是增量查詢還是直接所有的再查詢一次,socket數據接收你是用的netty還是mina,這都需要經過仔細的斟酌考慮設計的。有這么大的並發的需求,完全可以考慮做分布式集群的,估計這只是領導想要的目標吧

商城高並發怎麼測試

工具非常簡單易用,只需要設置幾項內容就可以對於個服務端進行壓測.在這里比較注意的就是測試內模式這里,工具主要容提供兩種測試模式分別是
應答模式:當連接接收服務端響應後馬上進行下一次請求消息發送
間隔模式:連接根據設置的間隔時間來進行發送請求消息
消息編輯
在發起測試之前還需要給工作添加測試消息,明確工具向伺服器發送那些消息內容

Ⅵ java電商項目面試官問我高並發多線程怎麼解決

這個很簡單,高並發有多種解決方法:

1、從代碼上分入手,必須得保證代碼沒有冗餘,專不要有屬廢代碼;
2、從伺服器上入手,高並發一台伺服器並發量有限,我們可以採用多台伺服器來分擔壓力;
3、從存儲方便入手,像我們一般高並發但是數據卻可以不用存到資料庫中的,我們就存在內存中,因為讀內存的速度是資料庫的N倍。

Ⅶ 商城如何處理高並發,怎麼使用memcache做緩存

其實相於應用程序資料庫間塊內存區域些高頻訪問數據放其避免每都請版求資料庫至權於所用memcachedredis自程序hashmap塊區域共享且容易管理集群環境更便使用

些做直接數據序列化存redisstring或memcached些其做利用redis特數據結構存儲些關系例用sorted set存排行榜string用計數set做些倒排索引、用戶友關系類我覺些都稱緩存

Ⅷ 今天被問到怎麼解決高並發問題

建議採用緩存處理,按照你說的這種數據量,基於redis的緩存完全可以滿足,版存取速度可以10W+的,另權外,擬採用的hashMap 是ConcurrentHashMap還是其他,頁面展示是增量查詢還是直接所有的再查詢一次,socket數據接收你是用的netty還是mina,這都需要經過仔細的斟酌考慮設計的。有這么大的並發的需求,完全可以考慮做分布式集群的,估計這只是領導想要的目標吧

Ⅸ Java面試總結如何處理項目的高並發,大數據

這個很簡單,高並發有多種解決方法: 1、從代碼上分入手,必須得保證代碼沒有冗餘,內不要有廢代碼; 2、從服容務器上入手,高並發一台伺服器並發量有限,我們可以採用多台伺服器來分擔壓力; 3、從存儲方便入手,像我們一般高並發但是數據卻可以不...

Ⅹ java程序員面試時如何回答「如何在j2ee項目中處理高並發量訪問」

盡量使用緩抄存,包括用襲戶緩存,信息緩存等,多花點內存來做緩存,可以大量減少與資料庫的交互,提高性能。

熱點內容
斷背山有幾分鍾 發布:2024-08-19 08:31:17 瀏覽:253
日本電影 女老師和學生私奔 發布:2024-08-19 08:29:36 瀏覽:49
台灣電影 雙胞胎 發布:2024-08-19 08:02:18 瀏覽:134
2020最新電影在線觀看網站 發布:2024-08-19 07:56:06 瀏覽:641
男男電影虐 發布:2024-08-19 07:04:57 瀏覽:10
韓國電影李采潭主演的關於發廊的 發布:2024-08-19 07:01:57 瀏覽:2
每期都有做的動漫 發布:2024-08-19 06:44:33 瀏覽:778
東宮拍攝時間 發布:2024-08-19 06:44:12 瀏覽:5
林正英電影情節鬼抬轎 發布:2024-08-19 06:36:35 瀏覽:254
懂的都懂在線觀看網站 發布:2024-08-19 06:26:11 瀏覽:676