wrk測試區塊鏈
A. as400的系統工具
(PROGRAMMING DEVELOPMENT MANAGER)
可以用來處理源代碼、對象和庫。為程序員建立源文件成員、訪問SEU和許多其他有用的工具提供方便。
STRPDM:直接到PDM菜單
WRKLIBPDM:可以指定操作哪一個庫或對當前庫列表進行操作
WRKOBJPDM:指定操作某一庫下的所有對象(可按名稱、類型選取)
WRKMBRPDM:指定操作某一庫下某一源文件下的所有或部分成員 (SOURCE ENTRY UTILITY)
是一個全屏幕編輯工具,可以建立和編輯源文件成員,當啟動時,能夠輸入新的源語句,修改、刪除、復制、移動已存在的源語句,具有語言相關提示和語法檢查功能,且具有分屏編輯/瀏覽功能。
STRSEU:可以對原有成員進行編輯或建立新成員,對原有成員進行編輯也可通過在WORK WITH MEMBERS USING PDM(WRKMBRPDM)屏幕上使用選項2(EDIT)功能來實現,當然,建立新成員也可以通過在WORK WITH MEMBERS USING PDM(WRKMBRPDM)屏幕上使用F6(CREATE)功能鍵來實現。 (SCREEN DESIGN AID)
可用來互動式設計、創建和維護應用屏幕,包括顯示文件和菜單,且可以將用戶設計的屏幕規范地自動轉換成DDS源代碼,簡化了菜單和顯示文件的創建。
STRSDA:可以進入屏幕和菜單的編輯畫面,對原有屏幕編輯也可通過在WORK WITH MEMBERS USINGPDM(WRKMBRPDM)屏幕上使用選項17(CHANGE USING SDA)功能來實現, (REPORT LAYOUT UTILITY)
可用來互動式定義列印報表的格式分布,建立列印文件,且可以將用戶設計的報表格式分布規范地自動轉換成DDS源代碼,簡化了報表的設計和修改,使用它可以在屏幕上直觀地設計列印報表。
STRRLU:可以進入報表編輯畫面,對原有屏幕編輯也可通過在 WORK WITH MEMBERS USING PDM(WRKMBRPDM)屏幕上使用選項19(CHANGE USING RLU)功能來實現 (DATA FILE UTILITY)
能夠快速定義、創建面向數據錄入、查詢或文件維護的DFU程序,而不需要編程。對開發應用建立測試資料庫尤其有用。
STRDFU:顯示DFU菜單
DLTDFUPGM:刪除DFU程序和文件
CHGDTA:運行DFU程序
DSPDTA:運行DFU程序,但不能修改文件中的數據記錄
UPDDTA:使用臨時的DFU程序更新文件,可通過在WORK WITH MEMBERS USING PDM(WRKMBRPDM)屏幕上使用選項18 (CHANGE USING DFU)來實現,它可以進行查詢、增加、修改、刪除記錄的操作。該功能最常用。
B. 《妖歌》最新txt全集下載
《妖歌》網路網盤txt最新全集下載:
鏈接:https://pan..com/s/1FLCwTTvpUvRkxFDEWAjx8A
簡介:一代妖神雲耀,自古便禍亂人間,有人問他,究竟想要什麼,他只是淡淡一笑,一句「天地棋盤,眾生棋子」。
C. 江蘇飛漁區塊鏈科技有限公司怎麼樣
江蘇飛漁區塊鏈科技有限公司是2018-06-26在江蘇省南京市注冊成立的有限責任公司(自然人投資或控股),注冊地址位於南京市江北新區星火路20號星火創業大廈1棟411A室。
江蘇飛漁區塊鏈科技有限公司的統一社會信用代碼/注冊號是91320191MA1WRK595G,企業法人李文靜,目前企業處於開業狀態。
江蘇飛漁區塊鏈科技有限公司,本省范圍內,當前企業的注冊資本屬於一般。
通過網路企業信用查看江蘇飛漁區塊鏈科技有限公司更多信息和資訊。
D. 性能測試工具 wrk 使用教程
被面試官經常問到之前開發的系統介面 QPS 能達到多少,經常給不出一個數值,支支吾吾,導致整體面試效果降低?
原因基本是一些公司中,做完功能測試就完了,壓根不會有性能測試這一步,或者說並發量較少,沒有必要進行性能測試,亦或者,交給測試人員後,只要整體問題不大,測試報告一般也是不會再給後端人員看的,這就導致我們在面試的時候,場面一度尷尬 !!!
其實,不單單是針對面試,作為一名後端開發者,我們在完成一個介面開發後,在交給測試工程師之前,經常也會想知道,自己寫的這個介面的性能如何呢?吞吐量能達到多少?QPS(Query per second 每秒處理完的請求數) 能達到多少呢?
這個時候,我們就需要藉助一些常用的性能測試工具,如 Apache ab, Apache JMeter (互聯網公司用的較多),LoadRunner 等。
我們今天主要說一說輕量級性能測試工具 wrk 。
一、什麼是 wrk
二、 wrk 的優勢&劣勢
三、wrk 安裝
四、如何使用
五、總結
六、參考文檔
七、贈送面試&學習福利資源
摘自官方 GitHub 上的英文介紹:
翻譯一下:
wrk 是一款針對 Http 協議的基準測試工具,它能夠在單機多核 CPU 的條件下,使用系統自帶的高性能 I/O 機制,如 epoll,kqueue 等,通過多線程和事件模式,對目標機器產生大量的負載。
在說 wrk 的優勢之前,瞅一下 wrk 的 GitHub Star 數,也能側面反映下它的可靠性:
Wow ! 截止筆者截圖為止, Star 數已經達到了 19742 !!!
再來說說 wrk 的優勢:
wrk 目前僅支持單機壓測,後續也不太可能支持多機器對目標機壓測,因為它本身的定位,並不是用來取代 JMeter, LoadRunner 等專業的測試工具,wrk 提供的功能,對我們後端開發人員來說,應付日常介面性能驗證還是比較友好的。
wrk 只能被安裝在類 Unix 系統上,所以我們需要一個 Linux 或者 MacOS 環境。Windows 10 安裝需要開啟自帶的 Ubuntu 子系統。
依次執行如下命令:
依次執行如下命令:
Mac 系統也可以通過先編譯的方式來安裝,但是更推薦使用 brew 的方式來安裝, 步驟如下:
Windown 10 需要在 Windows 功能 里勾選 適用於 Linux 的 Windows 子系統 , 然後通過 bash 命令切換到 Ubuntu 子系統。接下來,參考 3.1.1 Ubuntu 的操作系通中,安裝 wrk 的步驟。
命令行中輸入命令:
輸出如上信息,說明安裝成功了!
安裝成功了,要如何使用呢?
這條命令表示,利用 wrk 對 www..com 發起壓力測試,線程數為 12,模擬 400 個並發請求,持續 30 秒。
除了上面簡單示例中使用到的子命令參數, wrk 還有其他更豐富的功能,命令行中輸入 wrk --help , 可以看到支持以下子命令:
翻譯一下:
執行壓測命令:
執行上面的壓測命令,30 秒壓測過後,生成如下壓測報告:
我們來具體說一說,報告中各項指標都代表什麼意思:
可以看到,壓測報告還是非常直觀的!
您可能有疑問了,你這種進行 GET 請求還湊合,我想進行 POST 請求咋辦?而且我想每次的請求參數都不一樣,用來模擬用戶使用的實際場景,又要怎麼弄呢?
對於這種需求,我們可以通過編寫 Lua 腳本的方式,在運行壓測命令時,通過參數 --script 來指定 Lua 腳本,來滿足個性化需求。
wrk 支持在三個階段對壓測進行個性化,分別是啟動階段、運行階段和結束階段。每個測試線程,都擁有獨立的Lua 運行環境。
啟動階段:
在腳本文件中實現 setup 方法,wrk 就會在測試線程已經初始化,但還沒有啟動的時候調用該方法。wrk會為每一個測試線程調用一次 setup 方法,並傳入代表測試線程的對象 thread 作為參數。setup 方法中可操作該 thread 對象,獲取信息、存儲信息、甚至關閉該線程。
運行階段:
結束階段:
done() 方法在整個測試過程中只會被調用一次,我們可以從給定的參數中,獲取壓測結果,生成定製化的測試報告。
自定義 Lua 腳本中可訪問的變數以及方法:
變數:wrk
以上定義了一個 table 類型的全局變數,修改該 wrk 變數,會影響所有請求。
方法:
上面三個方法解釋如下:
調用 POST 介面:
注意: wrk 是個全局變數,這里對其做了修改,使得所有請求都使用 POST 的方式,並指定了 body 和 Content-Type頭。
自定義每次請求的參數:
在 request 方法中,隨機生成 1~10000000 之間的 uid,並動態生成請求 URL.
每次請求前,延遲 10ms:
請求的介面需要先進行認證,獲取 token 後,才能發起請求,咋辦?
上面的腳本表示,在 token 為空的情況下,先請求 /auth 介面來認證,獲取 token, 拿到 token 以後,將 token 放置到請求頭中,再請求真正需要壓測的 /test 介面。
壓測支持 HTTP pipeline 的服務:
通過在 init 方法中將三個 HTTP請求拼接在一起,實現每次發送三個請求,以使用 HTTP pipeline。
本文中,我們學習了輕量級性能測試工具 wrk, 如何安裝,以及具體的使用方法,包括通過 Lua 腳本來個性化定製請求等。希望讀完本文,能對您有所幫助哦!
E. wrk壓力測試POST請求
1. 編寫lua腳本,填寫post的數據, 如 post.lua
wrk.method = "POST"
wrk.body = '{"userId": "10001","coinType": "GT","type": "2","amount": "5.1"}'
wrk.headers["Content-Type"] = "application/json"
function request()
return wrk.format('POST', nil, nil, body)
end
2. 執行wrk,開始壓力測試:
wrk -t 16 -c 100 -d 30s --latency --timeout 5s -s post.lua http://localhost:8021/m/zh/order/new
wrk參數用法網上很多介紹,此處不再祥述