.NET 有個效能調校技巧是透過 ThreadPool.SetMinThreads() 設定 ThreadPool 的最小工作 Thread 數,這個做法為什麼能改善效能?何時有效?這篇文章會用實驗來理解與驗證。 當程式需要多工執行大量工作,除了自己弄 Queue 建執行緒,更簡便的方法使用 Thr...

前陣子分享過用 K6 跑壓力測試逼 IIS 噴出 HTTP 503,也展示如何從壓測到產出報表一氣喝成的壓力測試結果圖表自動化工具。前幾天跟同事討論被提醒 - 壓力測試畢竟是備戰演習沙盤推演,正式網站被塞爆噴 503 的案例才是最真實的情境,當下的數據更值得分析研究,更具參考價值。 圖片來源 有道...

讀者 Ho.Chun 問了一個問題:在 EF Core 透過 DbContext.Database.GetDbConnection() 取得的連線字串,使用完需不需要關閉? 依我的理解,DbContext.Database.GetDbConnection() 的用意是允許我們存取底層連線物件,透過 ...

Bing Chat 除了跟 ChatGPT 一樣可以聊天,還有個撰寫功能,能幫你寫段落、電子郵件、部落格文章跟構想... 修蛋幾壘! 叫 ChatGPT 寫部落格文章是什麼意思,把彰顯個人風格、抒發心情、推展想法、傳承知識的神聖工作丟給機器做是什麼意思?這叫部落客怎麼活? ChatGPT 寫的東西...

在某些特殊情境下我們會想將 .NET dll/exe 反組譯成 CIL,或許是想研究 .NET 編譯行為,或許是要魔改無原始碼程式搞暴力破解。總之,.NET Framework 時代有 IL 反組譯及組譯工具 - ildasm.exe、ilasm.exe,安裝 Visual Studio 後開個 D...

隨著壓力測試規模放大,客戶端的瓶頸也冒出來了。我遇到的狀況是在接連數次測試過程中,K6 出現 An operation on a socket could not be performed because the system lacked sufficient buffer space or be...

昨天介紹了 POSIX 參數慣例,它是主流 CLI 工具一致遵守的參數語法規則,以 git 或 dotnet 為例,指令工具要能指定動作命令,選項名稱支援 --long-option-name 或單一字元 -o 兩種表示法,選項可接參數值 (--verbosity n)或可加可不加,參數選項可自由調...

先前示範了用 K6 對網站逐步加壓到噴出 503,當時我寫了一小段 C# 解析串流 JSON 檔轉成 CSV 並用 Excel 繪製圖表: 效果還不錯,但每次測試完得跑 C# 程式、複製 CSV 數字、貼到 Excel 範本,做完一串手工藝才能拿到圖表。我心中的壓力測試程序會是:先測一次當基準,升...

工作機升級後,64G RAM 配上 7GB/s 高速讀寫 SSD,建 VM 跟喝水一樣,以前建 VM 灌 Windows 通常要泡杯茶慢慢等,現在兩三分鐘搞定。裝機速度變快,其他沒效率的地方就現形了。 像是 VM 需要加入測試網域,裝機後需手動改固定 IP、設定 DNS、更改電腦名稱,嚴格說來操作不...

開始前先聲明,要將 K6 測試結果繪成圖表,官方其實有建議做法,例如: 使用 K6 Clound 圖片來源 或串接 InfluxDB/TimescaleDB/Prometheus 整合 Grafana 分析監控面板。 圖片來源 K6 有提供支援套件與相關說明,透過一些安裝設定就有現成的精美報表可...

前幾天分享過好用的 CPU/RAM/Disk 效能監視 CLI 工具,並用它 結合 K6 壓力測試在圖表呈現 CPU 使用率(下圖藍線): 這個做法雖然可行,但操作起來頗麻煩。得在測試前登入目標主機執行 typeperf -cf counters.txt -si 1,測試完成按 Ctrl-C 中斷...

我的 Outlook 近期怪怪的,信件常會收不進來或卡在寄件匣,有時則會彈出警告視窗: 我們無法連線您。 我們目前似乎無法連線至我們的其中一項服務。請稍後再試一次,若問題持續發生,請連絡您的技術服務人員。 HTTP 404 blah-wap.blah-company.com 而我發現這個提示會阻擋 ...

伴隨 AI 熱潮,不意外地出現語不驚人死不休的主張:「AI會取代白領工作」 日本企業家警告九成上班族將面臨失業。堀江貴文的論述邏輯是:AI 可以寫 Mail、做簡報、做 Excel,還能寫程式、偵錯,能取代相關職務扮演的角色,導致基層白領(行政、初階工程師)被視為非必要人力,因而被公司裁員,他預估將...

前幾天介紹壓力測試工具 K6時,提到效能測試可再細分煙霧測試、負載測試、壓力測試... 等,其中壓力測試(Stress Testing)是測試系統在高度負載或極端條件下的穩定性及可靠度,目的在找出系統極限。 大家應該知道或看過,遇到流量過大,網站資源不足以應付 HTTP 請求時會拋出 HTTP 50...

講到在 Windows 觀察 CPU、RAM 跟硬碟... 等效能數據,大家應該會馬上想到效能監視器(Performance Monitor)。 效能監視器也提供寫入 Log 長期監控的功能,但我不想動用 GUI,打算全靠 CLI 指令搞定。 原以為需要第三方軟體或自己用 PowerShell 寫...