欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

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

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

環(huán)境要求

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

構(gòu)建測(cè)試項(xiàng)目

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

Install-Package BeetleX.CodeBenchmark -Version 0.6.2

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

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

Initialize

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

Execute

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

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

websocket測(cè)試用例

[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測(cè)試用例

[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<BeetleX.Clients.AsyncTcpClient>("192.168.2.19", 9012);
    }

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

Http測(cè)試用例

[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<IHttpHandler>();
        }
    }

    static BeetleX.Http.Clients.HttpClusterApi _httpApi;

    static IHttpHandler _httpHandler;

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

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

運(yùn)行測(cè)試用例

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

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

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

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

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

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

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

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

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

新聞名稱:如何使用CodeBenchmark對(duì)邏輯代碼進(jìn)行并發(fā)測(cè)試
文章路徑:http://chinadenli.net/article20/jpsdjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站企業(yè)建站標(biāo)簽優(yōu)化搜索引擎優(yōu)化商城網(wǎng)站網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)