真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用CodeBenchmark對邏輯代碼進(jìn)行并發(fā)測試

這篇文章主要介紹如何使用CodeBenchmark對邏輯代碼進(jìn)行并發(fā)測試,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

站在用戶的角度思考問題,與客戶深入溝通,找到淶源網(wǎng)站設(shè)計與淶源網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋淶源地區(qū)。

環(huán)境要求

CodeBenchmark是基于netstandard2.0開發(fā),適用于支持這一版本的.net core.net framework環(huán)境;運(yùn)行系統(tǒng)則看情況需要可部署到linuxwindows,開發(fā)語言c#.

構(gòu)建測試項目

可以通過vsvscode構(gòu)建一個控制臺項目然后引用組件(引用最新版本的BeetleX.CodeBenchmark)

Install-Package BeetleX.CodeBenchmark -Version 0.6.2

引用組件后就可以編寫具體的測試用例,測試用例編寫必須符合組件測試要求,所以需要實現(xiàn)一個接口來編寫測試代碼,接口描述如下:

    public interface IExample:IDisposable
    {
        void Initialize(Benchmark benchmark);
        Task Execute();
    }

Initialize

方法用于描述并發(fā)實例創(chuàng)建時初始化信息執(zhí)行

Execute

并發(fā)實例每次執(zhí)行的代碼邏輯

測試代碼可以針對自己的業(yè)務(wù)情況來編寫,具體的業(yè)務(wù)邏輯可以是http,數(shù)據(jù)庫訪問等操作.

websocket測試用例

[System.ComponentModel.Category("TCP")]
public class WebsocketJson : IExample
{
    public async Task Execute()
    {
        var request = new { url = "/json" };
        var result = await jsonClient.ReceiveFrom(request);
    }

    private BeetleX.Http.WebSockets.JsonClient jsonClient;

    public void Initialize(Benchmark benchmark)
    {
        jsonClient = new BeetleX.Http.WebSockets.JsonClient("ws://192.168.2.19:8080");
    }

    public void Dispose()
    {
        jsonClient.Dispose();
    }
}

TCP測試用例

[System.ComponentModel.Category("TCP")]
public class TcpTextLine : IExample
{
    public async Task Execute()
    {
        var data = $"henryfan@{DateTime.Now}";
        var stream = await mClient.ReceiveFrom(s => s.WriteLine(data));
        stream.ReadLine();

    }

    private BeetleX.Clients.AsyncTcpClient mClient;

    public void Initialize(Benchmark benchmark)
    {
        mClient = BeetleX.SocketFactory.CreateClient("192.168.2.19", 9012);
    }

    public void Dispose()
    {
        mClient.Dispose();
    }
}

Http測試用例

[System.ComponentModel.Category("TCP")]
class HttpGet : IExample
{
    public void Dispose()
    {

    }

    public async Task Execute()
    {
        var result = await _httpHandler.json();
    }

    public void Initialize(Benchmark benchmark)
    {
        if (_httpApi == null)
        {
            _httpApi = new BeetleX.Http.Clients.HttpClusterApi();
            _httpApi.DefaultNode.Add("http://192.168.2.19:8080");
            _httpHandler = _httpApi.Create();
        }
    }

    static BeetleX.Http.Clients.HttpClusterApi _httpApi;

    static IHttpHandler _httpHandler;

    [BeetleX.Http.Clients.FormUrlFormater]
    public interface IHttpHandler
    {
        // http://host/json
        Task json();
    }
}

以上基礎(chǔ)的測試用例都可以從https://github.com/IKende/CodeBenchmarkDoc 獲取得到.

運(yùn)行測試用例

組件在運(yùn)行用例的時候并不需要配置,只需要構(gòu)建測試對象并把有測試用例的程序集注冊進(jìn)去即可完成.

     Benchmark benchmark = new Benchmark();
     benchmark.Register(typeof(Program).Assembly);
     benchmark.Start();

以上代碼是加載本項的程序集,并啟動一個測試管理界面.默認(rèn)開啟的服務(wù)端口是9090,可以在Start方法指定服務(wù)的端口.啟動日志如下:

如何使用CodeBenchmark對邏輯代碼進(jìn)行并發(fā)測試

通過日志可以查看到服務(wù)啟動情況,運(yùn)行成功后就可以通過瀏覽器訪問并進(jìn)行測試

如何使用CodeBenchmark對邏輯代碼進(jìn)行并發(fā)測試

也可以運(yùn)行多個測試用例,并對比它們的性能. 

如何使用CodeBenchmark對邏輯代碼進(jìn)行并發(fā)測試

以上是“如何使用CodeBenchmark對邏輯代碼進(jìn)行并發(fā)測試”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


文章名稱:如何使用CodeBenchmark對邏輯代碼進(jìn)行并發(fā)測試
文章網(wǎng)址:http://weahome.cn/article/jpsdjo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部