2018年12月2日 星期日

Jmeter 錄製腳本

先新增執行緒群組其中加入錄製控制器(如下圖),其中「錄製控制器」可在新增邏輯控制器類別中找到

2018年10月14日 星期日

使用Cmder 來取代內建命令提示字元

會想找個替代品,是因為在使用情境上,有時候會需要參考網路上的文章來剪剪貼貼,但使用windows 內建的似乎沒有支援鍵盤操作,頗不方便...

2018年10月13日 星期六

使用Elmah 紀錄系統例外錯誤

一般系統上線後,很難針對系統發生的問題來偵錯,尤其是後端的程式更是如此,所以希望能更有效的方法來找出錯誤,故使用 elmah 是其中一種方法。

2018年9月30日 星期日

JMeter 基本認識-初探測試

下載回來後,來試試手感;(參考)

在測試計畫點選右鍵,新增執行緒群組,用來模擬受測服務的使用者人數

image_thumb2

這邊我們先設定會有10 人來存取受測系統

image_thumb6

這裡的啟動延遲(秒),指的是「在幾秒內達到所設定的使用者人數」,以現在這個設定來看,就是5 秒內送出10 的執行緒送到受測服務

接著再到執行緒群組新增(右鍵)「取樣」動作,這邊先以http 要求來說明

image_thumb8

新增完成後,設定相關欄位值,提醒一下若網址有參數,可以使用下方的新增按鈕來新增,依實際需求調整與設定即可

image_thumb13

另外提醒一下,從一開始新增項目的名稱(測試計畫、執行緒群組、HTTP 要求)都是可以重新命名的 ~

這邊先儲存一下測試計畫,Ctrl + S,檔案會預存在 bin 資料夾下
image_thumb16

建立測量相關報表,在執行緒群組新增(右鍵)相關報表,這邊新增彙整報告、檢視結果樹、結果圖形…,完成後記得儲存一下
image_thumb18


快要可以執行測試了,先看一下工具列有甚麼東西?

SNAGHTML44acb57f_thumb1

  1. 開始
  2. 停止
  3. 關閉
  4. 清除結果
  5. 清除全部結果(多測試)

點選「開始」按鈕就會改變,等待完成測試
image_thumb20

image_thumb24

簡單閱讀彙整報告,取樣數10個,平均值為響應時間(毫秒),錯誤率 0%(隨著壓力越來越大錯誤率會上升),最大與最小值也是響應時間(毫秒);當然實際情境比這個複雜很多,比方說測試登入等等…

JMeter 基本認識-下載程式

JMeter 用來做壓力測試的工具,屬於開放社群基本火力配備,亦可以運作在windows 環境。

可先到官網找到下載網頁,原來已經到 5.x 版本了,這邊下載 zip 檔,順帶一提,找不到如何下載舊版本(冏
image

若要運行程式,需要確認有安裝 Java 8(SRE) 以上版本(參考)

將 jmeter 解壓縮後到bin 資料夾,在ApacheJMeter.jar 點兩下開啟程式image

SNAGHTML4479a8b6

2018年8月25日 星期六

引用外部組態檔

很多時候,方案會由多個專案組成,希望可以共用組態檔,以免重工;可以利用內建的機制快速達到想要的效果(若專案很大,還是建議可以試試自訂 section 的方式),這邊針對 connectionStrings 與 appSettings section 來設定,可以使用 file 與  configSource 兩種 attr 來指定外部檔案,如下圖所示

image

外部檔案內容,就如同原本的設定一樣,檔案名稱可以客製化只要是config 副檔名(或 .xml)即可

image

image

其中,file 與configSource 兩者的差異在於configSource 不可以包含自己的屬性與元素(如下圖),而file 則可以,另外值得注意的是connectionStrings 沒有 file attr

image

當另外一個專案引用的時候,需加入「現有項目」並且使用「加入連結」的方式帶入,注意需要設定檔案屬性為「一律複製」,加入之後,會在檔案圖示看到「連結」特徵

image

imageimage


一個很大的關鍵是,若是站台引用(WAP),由於編譯後會到 bin 資料夾下,所以路徑要調整如下

image

2018年6月5日 星期二

雲端伺服器之資料庫連線問題排除

這問題挺特別的,來紀錄一下;

由於主機是雲端VM,依照之前的經驗SQL 需要開通 1433 port,確實也開通了,但是怎麼連外面就是連不到(內網可以),後來發現需要設定幾個地方


第一確認SQL 組態管理員是否有走 1433 port,預設是動態埠號,需要確認與調整


image

第二是 SSMS 的伺服器名稱要設定 1433 port

SNAGHTML8a00bc

2018年5月13日 星期日

使用DocFx 製作說明文件

使用Nuget 安裝 Docfx,經過測試需要選擇 docfx.console,我使用穩定版的;

image

由於docfx 是開放的,可以到官網取得相關說明;安裝好之後觀察方案總管,多出了一些檔案,其中 docfx.json  為設定相關參數;

image

打開專案資料夾,可以看到有一個 _site 的資料夾,裡面就是組成說明文件的相關檔案,可以架起來變成站台,其中 api / toc.html 可以看到 lib 的說明,但若是直接使用檔案總管開啟的話,部分左上方目錄會無法正常顯示,由於JavaScript受跨網域存取限制,建議使用IIS 建置站台即可正常

image

怎麼將程式碼註解產生為說明文件呢?在「專案」屬性「建置」頁面勾選xml 文件建置選項,編譯後即可產生對應文件

image

另外,因為我們設定了產生文件,所以每次編譯都會變得比較久(如下圖),但其實僅需

Technorati Tags:
要確認 release 的時候,才產生文件,可以透過相關設定來處理

image

首先,同樣來到專案屬性的「建置」頁籤,在 release 組態下,加入條件式編譯符號,這邊使用 「DOCFX」;接著打開專案檔(.csproj),加入相關設定,這樣就可以避免開發的時候編譯太久

image

image

參考:

修改csproj動態切換編譯程序-以DocFx為

2018年3月10日 星期六

客製化序列化/反序列化的輸出屬性名稱

序列化真的很常遇到,但有時會遇到介接的資料很難看,全大寫會全小寫,或是其他奇怪的命名,真的很難閱讀,但又希望可以正常的反序列化為我們自訂的物件,並且遵循我們定義的屬性名稱。

準備一份 json 如下圖

image

此時使用「將 json 貼上為類別」,就會直接建置好物件,測試反序列化確實也可以正常運作

image

但我們希望改造成自己喜歡的命名方式,還可以維持正常的運作;該怎麼做呢?只需要在屬性上方,掛上 attribute 即可,如下圖所示

image

其中屬性名稱已經可以調整成自己喜歡的格式,並且還可以維持正常運作

image

2018年3月4日 星期日

Private Nuget Server

之前一直想自己架設 nuget,測試後終於有些心得,並且紀錄一下過程;

首先來建置 nuget 專案

使用VS2017 新增空白專案,甚麼都不用選,注意 targetFramework 為4.6.1版本(如下圖)

2018-3-4 下午 04-02-29

接著再安裝 nuget server 套件,這邊當時的版本是 3.1.2

2018-3-4 下午 04-05-35

安裝好之後,專案結構會變如下所示

2018-3-4 下午 04-13-35

緊接著 Ctrl + F5 跑一下站台,既然出錯了,但是錯誤訊息有明顯提示,調整為一個區段即可(直接移除 4.6),站台就可以跑起來了,值得注意的是原以為會跑webform,沒想到既然實作了routing 機制~

2018-3-4 下午 04-15-36

2018-3-4 下午 04-19-28

觀看Web.config 檔案中 appSettings 區段,有相關參數可以設定,其中packagesPath 就是 packages 資料夾(沒設定,預設),另外也建議必須設定apiKey,這邊是在之後發佈套件的時候,除了指定站台Url 之外,尚須要輸入指定的apiKey值

接著來架設站台

發行一下站台,並且架設至IIS;但因為站台只想鎖定特定人士存取(e.g AD機制),故取消匿名存取,啟用 windows 驗證

Visual Studio 加入nuget server,這邊踩了一下雷,站台網址後面必須多加一個 /nuget 路徑;之後在 nuget 套件管理的來源,就可以看到自己的網址了

2018-3-4 下午 04-40-02


[ 2019/4/14 更新 ] 補充若使用了AD 認證,故打網址時,未自動彈出帳密輸入視窗,記得帳號前要加入 domain:xxxx\username 以免一直試錯