Day 8 透過 Go Tool Trace 看見問題
昨天我們通過作業系統提供的工具看見程式在發生 context switching 並吃到 CPU 的負載。今天能看看這隻 Go 撰寫的程式怎麼通過其生態圈提供的工具來看見問題。 Go Trace 在 Go 的診斷工具中,Tracing 是一種用於分析程式碼延遲和執行路徑的重要工具。透過追蹤程式碼的執行,可以深入了解應用程式在處理請求或任務時的各個階段的延遲情況,識別出效能瓶頸。 Trace 概述 Tracing 是一種透過對程式碼進...
Search for a command to run...
Articles tagged with #devops
昨天我們通過作業系統提供的工具看見程式在發生 context switching 並吃到 CPU 的負載。今天能看看這隻 Go 撰寫的程式怎麼通過其生態圈提供的工具來看見問題。 Go Trace 在 Go 的診斷工具中,Tracing 是一種用於分析程式碼延遲和執行路徑的重要工具。透過追蹤程式碼的執行,可以深入了解應用程式在處理請求或任務時的各個階段的延遲情況,識別出效能瓶頸。 Trace 概述 Tracing 是一種透過對程式碼進...
突然今天想寫這篇是因為 Line 社群有網友問到 I/O密集型任務 如果開大量 Thread 或是將這個任務以容器啟動了數十個容器在消費從 Message Queue 接收到的事件,然後做大量的 I/O 密集任務。會不會導致 Context Switch ?以及如果真要提高吞吐量與處理效能,開大量 Worker 是常見的方式,但要怎能知道開多少數量的 Worker 在這台機器上適合呢? 今天先從資源使用情況來看,明天在從任務的執行時間來分析。 今天會講比較多基本知識先了解打底用,也能當我在混天數...

在公司已經有在營運且有穩定收入時,對於新系統規劃上,我們能加入對系統容量的估算與驗證。當然新創還沒賺錢的,不用想這件事情,這就是過早優化,重心應該放在開源賺錢 XD We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Donald Knuth The Art of Computer Programming (TA...

在上一篇文章中,我們深入探討了性能分析中的三個外部指標:Service Latency(處理延遲)、Throughput(吞吐量)和 Resource Utilization(資源利用率)。這些指標為我們提供了對系統性能的直觀理解。然而,當談到實際的系統設計和性能優化時,這些外部指標還需要與系統容量進行結合考量。本文將進一步探討系統容量如何影響 RPS、QPS 和 TPS 這些衡量指標,並分析如何通過這些指標來提升系統的併發能力和穩定性,從而在動態變化的負載環境中保持高效運行。 系統容量與併發能...

Pareto Principle Pareto Principle 又被稱為 80/20 法則、關鍵少數法則。在很多場景下,大約 20% 的因素操控著 80% 的局面。也就是說,所有的變數中,比較重要的通常只有 20%,是所謂的關鍵少數。其餘 80% 的因素則相對次要。 在軟體產業中,這一法則同樣適用,且能帶來顯著的效率提升。以下是幾個應用場景及其具體意義: 應用場景套用法則具體意義 應用程式的使用80% 的使用者使用集中在大約 20% 的功能模組首先對經常使用的模組進行充分的優化...
