问题描述
我正在对.Net Core 2服务进行一些负载测试,并且得到了一些我想了解的结果。
以下是我的一些跑步记录:
X轴=来电
Y轴=秒,用于HttpClient.PostAsync
调用返回
基本上,它可以处理我所承受的几乎所有负载,最多约55,000个呼叫(键中的DOP代表客户端的并行度)。
但是大约有55K通话,该服务开始花费很长时间。 (它们的Y轴以秒为单位,而不是毫秒)。
服务非常简单。它要做的就是获取有效负载,对其进行序列化,然后将其放入RabbitMQ队列:
using (var channel = _connection.CreateModel())
{
channel.QueueDeclare(queue: _QueueName,durable: true,exclusive: false,autoDelete: false,arguments: _QueueArguments);
IBasicProperties props = channel.CreateBasicProperties();
props.ContentType = "text/plain";
props.DeliveryMode = 2;
var jsonoptions = new Options(dateFormat: DateTimeFormat.ISO8601);
string message = Jil.JSON.Serialize<LogEvent>(logEvent,jsonoptions);
var body = Encoding.UTF8.GetBytes(message);
channel.Basicpublish(exchange: "",routingKey: _QueueName,basicProperties: props,body: body);
}
如果我让服务中断,那么它可以再次以非常快的速度启动(导致我认为这不是内存泄漏)。
我的服务托管在IIS中(以防万一)。
关于55K通话标记可能出什么问题的任何想法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)