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 之类的长连接方案提升通讯性能

  • 相关阅读:
    在windwos创建的脚本文件在linux环境中无法执行的问题
    shell的文件锁操作
    systemd target
    算法-排序数组
    算法-存在重复元素
    算法-移除元素
    算法-两数之和
    touch事件详解
    小程序 打包太大
    taro/vue 左滑删除购物车
  • 原文地址:https://www.cnblogs.com/crazylights/p/9846201.html
Copyright © 2011-2022 走看看