<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      搞了次性能優化,結果出乎意料!

      0
      分享至

      大家好,我是程序員魚皮。

      之前我帶大家做的 項目 ,用戶可以在線制作、分享、使用代碼生成器~


      這次的系列教程中,我專門用了 4 個小時的直播,給大家帶來了一場極致的 性能優化 “盛宴”。

      很多同學由于沒有實習或工作經歷,可能沒有接觸過性能優化,但這卻是能區分程序員水平的重要技能。

      為什么這么說?

      舉個例子:

      • 優秀的程序員,能用 1 臺機器滿足 10000 個用戶的使用需求,如果滿足不了,首先想到的是繼續去優化。

      • 而一般的程序員,用 1 臺機器可能只能滿足 1000 個用戶的使用需求,如果滿足不了,就要加機器、加資源。現實往往是沒有資源給你加。

      怎么區分一個程序員有沒有性能優化經驗呢?

      就先問大家一個問題吧:一臺部署了 Tomcat 的服務器,每秒最多能處理多少個請求?

      下面給大家簡單分享下我直播中的性能優化過程,答案也將在最后揭曉。

      性能優化實踐

      要優化的是一個后端查詢接口,功能是查詢出主頁要展示的分頁數據列表,邏輯很簡單,就是數據庫分頁查詢而已。

      如下圖:


      首先我們往數據庫里插入 10 萬條數據,然后打開瀏覽器控制臺,觀察 10 次請求的響應耗時,平均是 700 毫秒:


      1)首先,我嘗試優化了數據查詢的 SQL 語句,讓它只查詢需要返回給前端的數據,減少數據量。

      優化后的接口平均耗時是 500 多毫秒,大概響應時長縮短了 1 / 4:


      使用 JMeter 進行壓力測試,每秒啟動 1000 個線程,總共啟動 1 萬個線程發送請求,在異常率 0% 的前提下,測試結果得到的 qps 為 20,這顯然不是一個很好的成績。


      2)進一步優化,使用性能更高的 Redis 分布式緩存。將分頁查詢結果作為 JSON 字符串寫入緩存,再次查詢的時候直接讀取就行。

      結果響應時長直接縮短到了平均 20 毫秒!縮短了 25 倍!

      第一個請求是加載緩存的,所以較慢。

      有緩存的情況下,壓力測試得到的 qps 是 114.6,提升了 5 倍多!


      可見緩存還是猛啊,讀多寫少、更新頻率低、訪問頻率高的數據,非常適合使用緩存。

      還能進一步優化么?

      3)當然能!使用比分布式緩存更快的本地緩存,直接從當前服務器內存讀取數據,更快~

      用瀏覽器控制臺測試響應時長,幾乎沒有變化(因為我測試過程中,Redis 也是本地啟動的):


      進行壓力測試,發現 qps 略有提升,大概 10% 左右吧:


      本地緩存按道理來說已經是最快的讀取方式了,難道這就已經優化到極限了么?

      當然沒有!

      4)雖然 I / O 難以繼續優化了,但我們可以優化程序的計算邏輯、節約 CPU 資源。

      比如我修改緩存的數據類型,不再寫入 JSON 格式的緩存了,直接用 JDK 原生的序列化方式去保存對象,這樣讀取的時候也不需要把 JSON 轉為對象。

      優化這個邏輯后,響應時長大幅度減少!平均 8 毫秒左右:


      沒想到吧,看似不起眼的 JSON 轉換操作,這么影響性能?

      壓力測試的結果更恐怖了,吞吐量接近 16000,直接提升了 100 多倍!


      真是不測不知道,一測嚇一跳。

      問題來了,還能繼續優化么?

      當然可以!

      5)除了業務邏輯層,我們還可以優化請求層。比如修改 Tomcat 服務器的配置,增大工作線程數和最大線程連接數。

      稍微改 2 行配置,吞吐量就提高了 1 / 5 左右,接近 19000!相比最開始的 qps 20 提升了近千倍!


      這。。這次到極限了么?

      我怎么知道啊!肯定還是需要自己測試這個極限到底在哪里!

      如何測試呢?

      6)我們可以編寫一個沒有任何業務邏輯,直接返回 "ok" 字符串的空接口。

      每秒啟動 10 萬個線程來測試,得到的 qps 為 36000+,又提高了整整一倍!


      ok,沒有任何邏輯的接口 qps 是這個數,那么你再怎么優化業務邏輯,性能的極限也不會超過這個值。

      那么,還有辦法繼續優化么?

      當然可以!

      7)因為這只是 Tomcat 服務器 + Spring MVC 框架的極限,如果我們用別的技術呢?


      這里我就拋磚引玉,大家感興趣的話,可以找個項目中的查詢接口、用我上面提到的方法優化下。


      回到最開始的問題 “一臺部署了 Tomcat 的服務器,每秒最多能處理多少個請求?”

      其實這個答案是 無解 ,因為缺少了最重要的測試條件、測試環境和測試基準,比如是在幾核幾 G、帶寬多少的機器上測試呢?不同的測試環境,測試結果肯定不同。性能優化效果一定要以實際測試結果為準,下次遇到這種問題的時候,別被面試官唬住了哦~

      以上就是本期分享,時間有限文章就只能講這么多了,大家如果對這個項目、這次的性能優化完整教程感興趣,歡迎 學習。

      這個項目視頻教程接近 40 小時,文字教程十幾萬字,我付出了大量的頭發精力,也保證絕對是一個很能打的項目~



      點擊下方關注魚皮,獲取免費編程學習路線、簡歷模板、面試題解、AI 知識庫、項目教程、交流群。

      一些對大家有用的資源:
      100+ 編程學習路線 / 實戰項目 / 求職指導
      100+ 簡歷模板
      300+ 企業面試題庫 mianshiya.com
      500+ AI 資源大全
      1 對 1 模擬面試
      動畫學算法教程

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      空中技巧17:45再沖金!“金牌夫妻”攜手出戰

      空中技巧17:45再沖金!“金牌夫妻”攜手出戰

      極目新聞
      2026-02-21 09:59:37
      春晚剛演完后空翻,美國清單就上了門:宇樹科技的2026開年24小時

      春晚剛演完后空翻,美國清單就上了門:宇樹科技的2026開年24小時

      好笑娛樂君每一天
      2026-02-20 21:36:04
      建議大家:春節過后,再去銀行存款的人,一定要記住“3要2不要”

      建議大家:春節過后,再去銀行存款的人,一定要記住“3要2不要”

      巢客HOME
      2026-02-21 13:24:33
      比亞迪DM-i 6.0一旦普及,中國燃油車市場會被“清場”

      比亞迪DM-i 6.0一旦普及,中國燃油車市場會被“清場”

      藍色海邊
      2026-02-20 21:47:26
      俄羅斯國家杜馬議員230億資產被沒收,207處房產全充公

      俄羅斯國家杜馬議員230億資產被沒收,207處房產全充公

      老馬拉車莫少裝
      2026-02-20 15:11:28
      烏克蘭的傷亡情況,終于有人說了真話!

      烏克蘭的傷亡情況,終于有人說了真話!

      安安說
      2026-02-19 11:59:22
      中國打造重機槍,不小心犯一個低級錯誤,結果卻意外造就世界之最

      中國打造重機槍,不小心犯一個低級錯誤,結果卻意外造就世界之最

      墨蘭史書
      2026-02-08 16:55:05
      前德甲球星去世——他助攻了歷史性進球

      前德甲球星去世——他助攻了歷史性進球

      綠茵情報局
      2026-02-20 23:18:45
      李亞鵬大理過年,和大冰坐馬路邊聊天煙不離手,自稱也想流浪了

      李亞鵬大理過年,和大冰坐馬路邊聊天煙不離手,自稱也想流浪了

      暖心萌阿菇涼
      2026-02-21 10:26:36
      34歲東北姑娘拿下81歲全球首富,長的很漂亮,一年抱倆娃身價上億

      34歲東北姑娘拿下81歲全球首富,長的很漂亮,一年抱倆娃身價上億

      云舟史策
      2025-09-13 07:37:04
      2027款AMG CLE63敞篷亮相 換裝V8發動機 或超600馬力

      2027款AMG CLE63敞篷亮相 換裝V8發動機 或超600馬力

      太平洋汽車
      2026-02-20 19:11:09
      “00后”陳某某被押赴刑場 執行死刑

      “00后”陳某某被押赴刑場 執行死刑

      閃電新聞
      2026-02-07 16:53:35
      NBA總收入前十榜單:詹姆斯1.326億美元居首 詹庫杜全超1億前三

      NBA總收入前十榜單:詹姆斯1.326億美元居首 詹庫杜全超1億前三

      醉臥浮生
      2026-02-21 00:31:25
      CBA超級外援自己宣布加盟遼寧隊!球迷:季后賽門票穩了

      CBA超級外援自己宣布加盟遼寧隊!球迷:季后賽門票穩了

      體育哲人
      2026-02-20 21:45:07
      以色列發動空襲!金價震蕩!

      以色列發動空襲!金價震蕩!

      Ck的蜜糖
      2026-02-16 19:49:31
      太平年:趙匡胤黃袍加身,柴榮麾下大將為何只有韓通一人抵抗?

      太平年:趙匡胤黃袍加身,柴榮麾下大將為何只有韓通一人抵抗?

      流云天下
      2026-02-20 15:56:49
      泰山上“?二”兩字,日本專家研究了十年,郭沫若一語道破謎底

      泰山上“?二”兩字,日本專家研究了十年,郭沫若一語道破謎底

      歷來縱橫
      2026-02-21 09:49:57
      哈梅內伊對局勢誤判,特朗普下最后通牒,突襲委內瑞拉可能重演

      哈梅內伊對局勢誤判,特朗普下最后通牒,突襲委內瑞拉可能重演

      麓谷隱士
      2026-02-21 17:59:21
      林葳專訪:如果下賽季我還在美國,我希望自己能更加全面

      林葳專訪:如果下賽季我還在美國,我希望自己能更加全面

      懂球帝
      2026-02-21 14:45:19
      初次從蘋果換到華為是啥感受?上手Mate80Pro一個月,說說心里話

      初次從蘋果換到華為是啥感受?上手Mate80Pro一個月,說說心里話

      小兔子發現大事情
      2026-02-17 08:14:39
      2026-02-21 18:51:00
      程序員魚皮 incentive-icons
      程序員魚皮
      一手科技資訊和編程干貨
      38文章數 18關注度
      往期回顧 全部

      科技要聞

      智譜上市1月漲5倍,市值超越京東、快手

      頭條要聞

      美大法官"大戰"總統撕開財政千億黑洞 特朗普閃電反擊

      頭條要聞

      美大法官"大戰"總統撕開財政千億黑洞 特朗普閃電反擊

      體育要聞

      冬奧第一"海王"?一人和13國選手都有關系

      娛樂要聞

      鏢人反超驚蟄無聲拿下單日票房第二!

      財經要聞

      一覺醒來,世界大變,特朗普改新打法了

      汽車要聞

      比亞迪的“顏值擔當”來了 方程豹首款轎車路跑信息曝光

      態度原創

      房產
      時尚
      游戲
      旅游
      軍事航空

      房產要聞

      窗前即地標!獨占三亞灣C位 自貿港總裁行宮亮相

      2026紐約秋冬時裝周,在春天開啟美的新故事!

      NS版火紅/葉綠疑似不支持寶可夢Home 全圖鑒要涼了?

      旅游要聞

      香港春節假期人氣旺,超百萬人次旅客訪港

      軍事要聞

      硬核揭秘!福建艦“一馬當先”底氣何在

      無障礙瀏覽 進入關懷版