2018年12月2日 星期日
2018年10月14日 星期日
2018年10月13日 星期六
2018年9月30日 星期日
JMeter 基本認識-初探測試
下載回來後,來試試手感;(參考)
在測試計畫點選右鍵,新增執行緒群組,用來模擬受測服務的使用者人數
這邊我們先設定會有10 人來存取受測系統
這裡的啟動延遲(秒),指的是「在幾秒內達到所設定的使用者人數」,以現在這個設定來看,就是5 秒內送出10 的執行緒送到受測服務
接著再到執行緒群組新增(右鍵)「取樣」動作,這邊先以http 要求來說明
新增完成後,設定相關欄位值,提醒一下若網址有參數,可以使用下方的新增按鈕來新增,依實際需求調整與設定即可
另外提醒一下,從一開始新增項目的名稱(測試計畫、執行緒群組、HTTP 要求)都是可以重新命名的 ~
這邊先儲存一下測試計畫,Ctrl + S,檔案會預存在 bin 資料夾下
建立測量相關報表,在執行緒群組新增(右鍵)相關報表,這邊新增彙整報告、檢視結果樹、結果圖形…,完成後記得儲存一下
快要可以執行測試了,先看一下工具列有甚麼東西?
- 開始
- 停止
- 關閉
- 清除結果
- 清除全部結果(多測試)
簡單閱讀彙整報告,取樣數10個,平均值為響應時間(毫秒),錯誤率 0%(隨著壓力越來越大錯誤率會上升),最大與最小值也是響應時間(毫秒);當然實際情境比這個複雜很多,比方說測試登入等等…
2018年8月25日 星期六
引用外部組態檔
很多時候,方案會由多個專案組成,希望可以共用組態檔,以免重工;可以利用內建的機制快速達到想要的效果(若專案很大,還是建議可以試試自訂 section 的方式),這邊針對 connectionStrings 與 appSettings section 來設定,可以使用 file 與 configSource 兩種 attr 來指定外部檔案,如下圖所示
外部檔案內容,就如同原本的設定一樣,檔案名稱可以客製化只要是config 副檔名(或 .xml)即可
其中,file 與configSource 兩者的差異在於configSource 不可以包含自己的屬性與元素(如下圖),而file 則可以,另外值得注意的是connectionStrings 沒有 file attr
當另外一個專案引用的時候,需加入「現有項目」並且使用「加入連結」的方式帶入,注意需要設定檔案屬性為「一律複製」,加入之後,會在檔案圖示看到「連結」特徵
一個很大的關鍵是,若是站台引用(WAP),由於編譯後會到 bin 資料夾下,所以路徑要調整如下
2018年6月5日 星期二
雲端伺服器之資料庫連線問題排除
這問題挺特別的,來紀錄一下;
由於主機是雲端VM,依照之前的經驗SQL 需要開通 1433 port,確實也開通了,但是怎麼連外面就是連不到(內網可以),後來發現需要設定幾個地方
第一確認SQL 組態管理員是否有走 1433 port,預設是動態埠號,需要確認與調整
第二是 SSMS 的伺服器名稱要設定 1433 port
2018年5月13日 星期日
使用DocFx 製作說明文件
使用Nuget 安裝 Docfx,經過測試需要選擇 docfx.console,我使用穩定版的;
由於docfx 是開放的,可以到官網取得相關說明;安裝好之後觀察方案總管,多出了一些檔案,其中 docfx.json 為設定相關參數;
打開專案資料夾,可以看到有一個 _site 的資料夾,裡面就是組成說明文件的相關檔案,可以架起來變成站台,其中 api / toc.html 可以看到 lib 的說明,但若是直接使用檔案總管開啟的話,部分左上方目錄會無法正常顯示,由於JavaScript受跨網域存取限制,建議使用IIS 建置站台即可正常
怎麼將程式碼註解產生為說明文件呢?在「專案」屬性「建置」頁面勾選xml 文件建置選項,編譯後即可產生對應文件
另外,因為我們設定了產生文件,所以每次編譯都會變得比較久(如下圖),但其實僅需
首先,同樣來到專案屬性的「建置」頁籤,在 release 組態下,加入條件式編譯符號,這邊使用 「DOCFX」;接著打開專案檔(.csproj),加入相關設定,這樣就可以避免開發的時候編譯太久
參考:
2018年3月10日 星期六
客製化序列化/反序列化的輸出屬性名稱
序列化真的很常遇到,但有時會遇到介接的資料很難看,全大寫會全小寫,或是其他奇怪的命名,真的很難閱讀,但又希望可以正常的反序列化為我們自訂的物件,並且遵循我們定義的屬性名稱。
準備一份 json 如下圖
此時使用「將 json 貼上為類別」,就會直接建置好物件,測試反序列化確實也可以正常運作
但我們希望改造成自己喜歡的命名方式,還可以維持正常的運作;該怎麼做呢?只需要在屬性上方,掛上 attribute 即可,如下圖所示
其中屬性名稱已經可以調整成自己喜歡的格式,並且還可以維持正常運作
2018年3月4日 星期日
Private Nuget Server
之前一直想自己架設 nuget,測試後終於有些心得,並且紀錄一下過程;
首先來建置 nuget 專案
使用VS2017 新增空白專案,甚麼都不用選,注意 targetFramework 為4.6.1版本(如下圖)
接著再安裝 nuget server 套件,這邊當時的版本是 3.1.2
安裝好之後,專案結構會變如下所示
緊接著 Ctrl + F5 跑一下站台,既然出錯了,但是錯誤訊息有明顯提示,調整為一個區段即可(直接移除 4.6),站台就可以跑起來了,值得注意的是原以為會跑webform,沒想到既然實作了routing 機制~
觀看Web.config 檔案中 appSettings 區段,有相關參數可以設定,其中packagesPath 就是 packages 資料夾(沒設定,預設),另外也建議必須設定apiKey,這邊是在之後發佈套件的時候,除了指定站台Url 之外,尚須要輸入指定的apiKey值
接著來架設站台
發行一下站台,並且架設至IIS;但因為站台只想鎖定特定人士存取(e.g AD機制),故取消匿名存取,啟用 windows 驗證
Visual Studio 加入nuget server,這邊踩了一下雷,站台網址後面必須多加一個 /nuget 路徑;之後在 nuget 套件管理的來源,就可以看到自己的網址了
[ 2019/4/14 更新 ] 補充若使用了AD 認證,故打網址時,未自動彈出帳密輸入視窗,記得帳號前要加入 domain:xxxx\username 以免一直試錯