JVM调优已经是普通Java工程师的必修课了,而.NET开源快5年了,CLR层面的优化到目前都不多见,甚至常用的性能调优工具都还没玩过。.NET5马上来了,要想在互联网大潮中逆袭,光靠平台是不够的,开发者也得给力才行!这里整理了几款性能调优工具,就着个人的实操经验给大家分享下,希望能有些帮助。
性能调优思路性能调优就是用更少的资源提供更好的服务,成本利益最大化。性能调优的手段并不新鲜,常规手段如下:
1空间换时间缓存就是典型的例子,将数据额外存储一份儿,下次直接重用,空间换时间。
时间换空间大文件处理时,切分数据分批次处理,花更多的时间,用更少的空间完成处理。
分治思想典型的归并排序、快排,都是将数据分成小块儿排序最终再合并,分而治之。
4异步化各种消息队列就是典型案例,将业务分拆,避免阻塞,提升吞吐量。
5并行包括多线程和单线程多进程两种模式,就是将任务分开,同时执行以加快速度。
6集群化提供良好的扩展能力,更多的资源换取更好的性能。
性能调优的方式很多,然而最直接有效的办法就是使用优秀的工具,工欲善其事必先利其器,优秀的工具能让性能调优事半功倍!下面给大家推荐几款常用工具,亲测非常靠谱!
BenchmarkDotNet性能基准测试性能测试是开发人最关心的,然而一个算法的性能在不同的设备、不同的CLR、不同的测试方式、不同的数据量,表现出来的结果也是不一样,因此要测试一个算法的性能,需要在充分的背景下才有意义,这就是性能基准测试,C#首选的就是大名鼎鼎的BenchmarkDotNet。
BenchmarkDotNet是一个用MIT协议开源的C#程序性能测试库,非常简单易用,开源地址为