摘要:
### 前言 簡單說明一下,為什么有orleans 這個框架。 ### 正文 orleans 這個框架的理論基礎是 actor, 在1973年提出,當初是為了大量處理高并發計算機的并行模型,其核心思想是將系統中獨立的計算過程抽象為actor。 高并發場景有什么問題呢,那就是同時修改一個對象的時候,那 閱讀全文
摘要:
### 前言 內存的基本知識,將在操作系統篇中詳細介紹,這里只說明如何排查問題。 ### 正文 內存的分配和回收: 在malloc 是c 標準庫中的內存分配函數,對應到系統調用上,有兩種實現方式,一種是brk()和 mmap() 對于小塊內存,小于128k 使用brk來分配,也就是通過移動堆棧的位置 閱讀全文
摘要:
### 前言 主要介紹一下cpu如何快速定位問題。 ### 正文 cpu 的一些性能指標: #### 1. cpu 使用率 cpu 使用率描述了非空閑時間占總cpu時間的百分比,根據cpu上運行任務的不同,又被分為用戶cpu、系統cpu、 i/o 等待cpu、 軟中斷、硬中斷。 用戶cpu使用率,包 閱讀全文
摘要:
### 前言 linux 性能的自我學習。 ### 正文 什么是軟中斷呢? 舉一個網絡的例子。 linux 將中斷處理過程分為兩個階段: 上半部用來快速處理中斷,他在中斷禁止模式下運行,注意是處理跟硬件緊密相關或時間敏感的工作。 下半部用來延遲處理上半部未完成的工作,通常以內核線程的方式運行。 比如 閱讀全文
摘要:
### 前言 簡單介紹一下不可中斷進程和僵尸進程。 ### 正文 先來看下進程的狀態:  那么這一列的狀態是什么呢 閱讀全文
摘要:
### 前言 linux 性能分析自我學習。 ### 正文 一般我們說cpu,一般是什么高呢? 一般是指cpu 使用率高。 那么什么是cpu 使用率呢? cpu 使用率 = 1- 空閑時間/總cpu 時間 平均cpu 使用率 = 1 -(new空閑時間 - old 空閑時間)/ (new總cpu時間 閱讀全文
摘要:
### 前言 我們知道現在操作系統,都是多進程和多線程,那么會有一個操作系統幫助我們去切換進程和線程,這個是要消耗cpu資源的,那么就來了解一下cpu資源消耗情況。 ### 正文 一般是下面幾個場景切換: 1. 進程上下文切換 2. 線程上下文切換 3. 中斷上下文切換 在了解進程切換的時候,需要了 閱讀全文
摘要:
### 前言 簡單介紹一下DiagnosticListener,一個比較常見的事件通知模型,可以說是事件發布訂閱模型,常用于監控。 ### 正文 直接編寫代碼: ``` using System.Diagnostics; public class program { public static vo 閱讀全文
摘要:
### 前言 linux 系統上性能調查的自我學習。 ### 正文 什么是平均負載? 使用uptime:  可以看到 閱讀全文
摘要:
前言 在23個設計模式后,編程過了幾年,對6大原則的重新理解,也是更簡化更通透的理解。 正文 單一職責原則(SRP):一個類或模塊應該有且僅有一個責任。 開放封閉原則(OCP):軟件實體(類、模塊、函數等)應該對擴展開放,對修改關閉。 里氏替換原則(LSP):子類對象應該能夠替換其超類對象并保持程序 閱讀全文