关于.NET Core中性能优化

大佬们,请教一个问题,我服务有个需求,需要批量下载图片,大约一次下载2.300条,一张图片大约150kb左右,并在内存中处理,处理完成之后,将这些图片的base64上传到另一个服务器(第三方的),然后清除图片List。然后循环。
我使用benchmark测试,使用Parallel.ForEach下载200张图片,然后放入ConcurrentQueue<string>中。结果是 Gen 0是4000+,Allocated是20+MB。我有个疑问:
1、这里4000+的GC 0 正不正常呢?
2、这里有没有办法不走GC,等我的一个循环执行完,我自己清除图片缓存呢?
多谢了.

回答

问题补充:

我的服务一直重复这个事情,在k8s中运行,我发现服务又被重启了好几次,我将k8s的健康检查时间改长了,就没有重启的情况了,我猜测会不会是GC导致程序暂停,所以导致k8s的健康检查请求失败

以上是关于.NET Core中性能优化的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>