用帝国cms做视频网站制作相册音乐相册模板
用帝国cms做视频网站,制作相册音乐相册模板,天坛网站建设,一个小程序商城需要多少钱最近在进行开发过程中#xff0c;基于都是接口开发#xff0c;A站接口访问B接口接口来请求数据#xff0c;而在这个过程中我们使用的是HttpClient这个框架#xff0c;当然也是微软自己的框架#xff0c;性能当前没有问题#xff0c;但如果你直接使用官方的写法#xff0… 最近在进行开发过程中基于都是接口开发A站接口访问B接口接口来请求数据而在这个过程中我们使用的是HttpClient这个框架当然也是微软自己的框架性能当前没有问题但如果你直接使用官方的写法在高并发时候会有很大的性能隐患因为它官方使用的是using的方式而对于请求量比较大时这种方法对TCP建立也会过高即使用完马上释放也会有很多time_out的请求所有决定把某个用到httpclient的组件做成静态化的 明细 统计 调用中规中矩的写法 using (var http new HttpClient()){ var json JsonConvert.SerializeObject(new{target_index projectName,timestamp DateTime.Now.ToUniversalTime().ToString(yyyy-MM-ddTHH:mm:ss.fffZ),Level level.ToString(),Message message});json json.Replace(target_index, target_index).Replace(timestamp, timestamp); var httpContent new StringContent(json, Encoding.UTF8);httpContent.Headers.ContentType new MediaTypeHeaderValue(application/json); var result http.PostAsync(apiLoggerUri, httpContent).Result;} 优化它做成TCP长链接所以请求走一个通道 private static readonly HttpClient _httpClient; private ApiLoggerOptions _config; static ApiLogger(){_httpClient new HttpClient();_httpClient.Timeout new TimeSpan(0, 0, 10);_httpClient.DefaultRequestHeaders.Connection.Add(keep-alive);} keep-alive关键字可以理解为一个长链接超时时间也可以在上面进行设置例如10秒的超时时间当然并发量太大这个10秒应该会抛弃很多请求 发送请求的代码没有了using即这个httpclient不会被手动dispose而是由系统控制它当然你的程序重启时这也就被回收了。 var json JsonConvert.SerializeObject(new {target_index projectName,timestamp DateTime.Now.ToUniversalTime().ToString(yyyy-MM-ddTHH:mm:ss.fffZ),Level level.ToString(),Message message});json json.Replace(target_index, target_index).Replace(timestamp, timestamp); var httpContent new StringContent(json, Encoding.UTF8);httpContent.Headers.ContentType new MediaTypeHeaderValue(application/json);_httpClient.PostAsync(apiLoggerUri, httpContent).Wait(); 通过上面的改造我们我系统性能得到了改善TCP的连接数也降下来了 所以对于长链接的多路复用技术相对于请求过多的情况还是最省资源的 原文地址http://www.cnblogs.com/lori/p/7692152.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88591.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!