zoukankan      html  css  js  c++  java
  • dotnetcore http服务器研究(二)性能分析

    Asp.net core kestrel 服务器性能分析

    因近来发现neocli 使用asp.net core kestrel 服务器提供rpc调用,性能比较低。

    和以前做过测试差异比较大,故而再次测试。考虑到micheal提供的因素主要是http相应时间,故针对http响应时间增加两个测试

    先放代码,测试程序在

    https://github.com/lightszero/lightchain

    测试说明

    测试方案1

    clip_image001

    http请求直接返回

    测试方案2

    clip_image002

    延迟1秒返回,但是用Task.Delay,让Task模型不会堵塞

    测试方案3

    clip_image003

    延迟1秒返回,当前线程直接堵塞死

    测试结果

    clip_image005

    结果分析

    测试均针对127.0.0.1进行,采用100个httpclient对象,从100个队列 分别请求测试123

    得到的结论是

    测试1 tps在 1000 到800浮动

    测试2 tps 在 80 到100 浮动

    测试3 tps 在 15 到 30 浮动

    另外调整服务端ThreadPool.SetMaxThread 对测试结果干扰很小,忽略不计

    分析此结论认为,kestrel 的处理能力对响应时间长的请求比较敏感。实际用于处理请求的线程估计是30左右,没有调整方法。

    建议的处理方法

    所有的RPC均受此影响,http响应时间越慢,整体处理能力就越差。

    无论是sendraw,invokescript。

    NEOCLI的rpc性能要提升,都需要比较大的改造

    之后将尝试使用websocket 之类的长连接方案提升通讯性能

  • 相关阅读:
    数据产品—数据仓库
    数据产品-开篇
    os.walk()
    pytest入门
    XML 文件处理
    字符编码
    消息队列
    Pycharm
    AWS入门
    Python配置模块:configparser参数含义
  • 原文地址:https://www.cnblogs.com/crazylights/p/9846201.html
Copyright © 2011-2022 走看看