一、關於上下文切換的幾個為什么 1、 上下文切換是什么? 上下文切換是對任務當前運行狀態的暫存和恢復 2、 CPU為什么要進行上下文切換? 當多個進程競爭CPU的時候,CPU為了保證每個進程能 ...
一 上節總結回顧 上一節,我們回顧了經典的 C K 和 C K 問題。簡單回顧一下,C K 是指如何單機同時處理 萬個請求 並發連接 萬 的問題,而 C K 則是單機支持處理 萬個請求 並發連接 萬 的問題。 I O 模型的優化,是解決 C K 問題的最佳良方。Linux . 中引入的 epoll,完美解決了C K 的問題,並一直沿用至今。今天的很多高性能網絡方案,仍都基於 epoll。 自然,隨 ...
2019-09-16 16:35 0 375 推薦指數:
一、關於上下文切換的幾個為什么 1、 上下文切換是什么? 上下文切換是對任務當前運行狀態的暫存和恢復 2、 CPU為什么要進行上下文切換? 當多個進程競爭CPU的時候,CPU為了保證每個進程能 ...
一、上節回顧 前面內容,我們學習了 Linux 網絡的基礎原理以及性能觀測方法。簡單回顧一下,Linux網絡基於 TCP/IP 模型,構建了其網絡協議棧,把繁雜的網絡功能划分為應用層、傳輸層、網絡層、網絡接口層等四個不同的層次,既解決了網絡環境中設備異構的問題,也解耦了網絡協議的復雜性 ...
一、上節回顧 上一節,我帶你一起學習了網絡性能的評估方法。簡單回顧一下,Linux 網絡基於 TCP/IP協議棧構建,而在協議棧的不同層,我們所關注的網絡性能也不盡相同。 在應用層,我們關注的是應用程序的並發連接數、每秒請求數、處理延遲、錯誤數等,可以使用 wrk、Jmeter 等工具,模擬 ...
一、上節回顧 不知不覺,我們已經學完了整個專欄的四大基礎模塊,即 CPU、內存、文件系統和磁盤 I/O、以及網絡的性能分析和優化。相信你已經掌握了這些基礎模塊的基本分析、定位思路,並熟悉了相關的優化方法。 接下來,我們將進入最后一個重要模塊—— 綜合實戰篇。這部分實戰內容,也將是我們對前面所學 ...
問題 1: 使用 perf 工具時,看到的是 16 進制地址而不是函數名 1、分析過程 在 CentOS 系統中,使用 perf 工具看不到函數名,只能看到一些 16 進制格式的函數地址。 其實 ...
一、環境准備 1、在第6節的基礎上安裝dstat wget http://mirror.centos.org/centos/7/os/x86_64/Packages/dstat-0.7.2- ...
一、上節回顧 上一節,我以 ksoftirqd CPU 使用率高的問題為例,帶你一起學習了內核線程 CPU 使用率高時的分析方法。先簡單回顧一下。 當碰到內核線程的資源使用異常時,很多常用的進程級性能工具,並不能直接用到內核線程上。這時,我們就可以使用內核自帶的 perf 來觀察它們的行為 ...
一、上節回顧 上一節,我們學習了碰到分布式拒絕服務(DDoS)的緩解方法。簡單回顧一下,DDoS利用大量的偽造請求,導致目標服務要耗費大量資源,來處理這些無效請求,進而無法正常響應正常用戶的請求。 由於 DDoS 的分布式、大流量、難追蹤等特點,目前確實還沒有方法,能夠完全防御DDoS 帶來 ...