<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 個用戶的使用需求,如果滿足不了,就要加機器、加資源?,F實往往是沒有資源給你加。

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

      就先問大家一個問題吧:一臺部署了 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.

      相關推薦
      熱點推薦
      特朗普再次就停戰談判威脅伊朗

      特朗普再次就停戰談判威脅伊朗

      澎湃新聞
      2026-03-26 20:24:03
      巨乳性感綁帶渾圓大腿!日本格斗游戲勁爆手辦預告

      巨乳性感綁帶渾圓大腿!日本格斗游戲勁爆手辦預告

      游民星空
      2026-03-25 19:48:32
      奧迪突然官宣:32.29萬起,新車正式上市

      奧迪突然官宣:32.29萬起,新車正式上市

      高科技愛好者
      2026-03-25 23:08:37
      杜淳老婆太能買了!戴4條金手鏈錄開箱視頻,保守估計花了10W+

      杜淳老婆太能買了!戴4條金手鏈錄開箱視頻,保守估計花了10W+

      蒂蒂茱家
      2026-03-25 11:56:39
      舉國之力也找不到完整夏朝,為何?網友的神預言正在被考古證實

      舉國之力也找不到完整夏朝,為何?網友的神預言正在被考古證實

      超人強動物俱樂部
      2026-03-26 16:54:48
      導彈打擊效果顯著,為什么伊朗不“梭哈”,要慢慢放以色列的血?

      導彈打擊效果顯著,為什么伊朗不“梭哈”,要慢慢放以色列的血?

      Ck的蜜糖
      2026-03-24 01:46:13
      近期“熱播劇”排個名:逐玉倒數,冬去春來第三,第一殺瘋了!

      近期“熱播劇”排個名:逐玉倒數,冬去春來第三,第一殺瘋了!

      無處遁形
      2026-03-26 07:18:10
      為啥一聽說給農民漲養老金,就有一群人激烈反對?真相太沉重

      為啥一聽說給農民漲養老金,就有一群人激烈反對?真相太沉重

      復轉這些年
      2026-03-14 23:48:05
      我國癌癥高發,電飯煲是“幫兇”?醫生:7種省錢行為要不得

      我國癌癥高發,電飯煲是“幫兇”?醫生:7種省錢行為要不得

      大象新聞
      2026-03-24 13:53:11
      張雪峰突然去世!博士妻子李麗婧飽受非議上熱搜,或面臨3個選擇

      張雪峰突然去世!博士妻子李麗婧飽受非議上熱搜,或面臨3個選擇

      火山詩話
      2026-03-25 16:14:23
      快扔掉!戴一天,輻射量相當于拍117次胸片

      快扔掉!戴一天,輻射量相當于拍117次胸片

      FM93浙江交通之聲
      2025-10-28 00:01:43
      特朗普拒絕承認對伊朗打擊是戰爭

      特朗普拒絕承認對伊朗打擊是戰爭

      界面新聞
      2026-03-26 15:51:22
      南京男子回家迫不及待抱住妻子,結果家中鸚鵡一開口,讓他崩潰!

      南京男子回家迫不及待抱住妻子,結果家中鸚鵡一開口,讓他崩潰!

      白云故事
      2025-03-14 19:05:07
      伊朗拒絕美國停戰方案并提出伊方5項條件

      伊朗拒絕美國停戰方案并提出伊方5項條件

      新京報
      2026-03-25 23:58:14
      呂迪格:幾乎沒有比戰拜仁更大的挑戰了;凱恩是世界前三中鋒

      呂迪格:幾乎沒有比戰拜仁更大的挑戰了;凱恩是世界前三中鋒

      懂球帝
      2026-03-26 21:51:04
      回顧“91女神”琪琪:五官出眾,卻因天真讓自己“受傷”

      回顧“91女神”琪琪:五官出眾,卻因天真讓自己“受傷”

      就一點
      2025-11-22 10:36:39
      特朗普希望破滅了,但是福特號航母上4500名美軍士兵卻徹底安全了

      特朗普希望破滅了,但是福特號航母上4500名美軍士兵卻徹底安全了

      安安說
      2026-03-26 11:41:14
      湖北氣溫直沖26℃!隨后大逆轉,外套先別收

      湖北氣溫直沖26℃!隨后大逆轉,外套先別收

      魯中晨報
      2026-03-26 19:57:02
      NeurIPS拒收中國論文,計算機學會宣布抵制并警告將其移出A類目錄

      NeurIPS拒收中國論文,計算機學會宣布抵制并警告將其移出A類目錄

      DeepTech深科技
      2026-03-25 22:49:10
      柯文哲被判重刑,黃國昌蔣萬安回應,賴清德又盯上鄭麗文?

      柯文哲被判重刑,黃國昌蔣萬安回應,賴清德又盯上鄭麗文?

      DS北風
      2026-03-26 17:58:06
      2026-03-26 23:28:49
      程序員魚皮 incentive-icons
      程序員魚皮
      一手科技資訊和編程干貨
      74文章數 76關注度
      往期回顧 全部

      科技要聞

      美團發布外賣大戰后成績單:虧損超200億

      頭條要聞

      張雪峰留巨額遺產:二婚妻子或拿50% 剩下的女兒占1/3

      頭條要聞

      張雪峰留巨額遺產:二婚妻子或拿50% 剩下的女兒占1/3

      體育要聞

      申京努力了,然而杜蘭特啊

      娛樂要聞

      劉曉慶妹妹發聲!稱姐姐受身邊人挑撥

      財經要聞

      油價"馴服"特朗普?一到100美元就TACO

      汽車要聞

      一汽奧迪A6L e-tron開啟預售 CLTC最大續航815km

      態度原創

      旅游
      藝術
      親子
      本地
      公開課

      旅游要聞

      探訪資中文旅新地標 邂逅千年古城的詩與遠方

      藝術要聞

      哪一座橋不是風景?

      親子要聞

      你好,我是饅頭,快開門!

      本地新聞

      救命,這只醬板鴨已經在我手機復仇了一萬遍

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版