搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > dotNET跨平台 > .NET开源5年了,这些宝藏你还没get?

.NET开源5年了,这些宝藏你还没get?

dotNET跨平台 2021-01-12

从2016年微软发布.NET Core1.0,至今.NET开源也快5年了,GitHub也涌现了很多优秀的开源项目,关于CLR层面调优的讨论也多了起来,尤其是龙芯.NET开源的CLR迁移项目,更是让.NET进入一个全新的时代。鲁迅说过:菜鸟写业务,老鸟搭架构,高手玩调优。架构优化,性能调优都是食物链顶端的技术,高薪面试必备良品。

架构优化
架构优化

互联网发展至今,各种架构设计优化的思路已经很成熟了,优化的目标就是用更少的资源提供更好的服务,成本利益最大化,常规手段如下:

时间换空间

大文件处理时,切分数据分批次处理,花更多的时间,用更少的空间完成处理。

分治思想

典型的归并排序、快排,都是将数据分成小块儿排序最终再合并,分而治之。

异步化

各种消息队列就是典型案例,将业务分拆,避免阻塞,提升吞吐量。

并行

包括多线程和单线程多进程两种模式,就是将任务分开,同时执行以加快速度。

集群化

提供良好的扩展能力,更多的资源换取更好的性能。

.NET开源5年了,这些宝藏你还没get?

BenchmarkDotNet性能基准测试

性能测试是开发人最关心的,然而一个算法的性能在不同的设备、不同的CLR、不同的测试方式、不同的数据量,表现出来的结果也是不一样,因此要测试一个算法的性能,需要在充分的背景下才有意义,这就是性能基准测试,C#首选的就是大名鼎鼎的BenchmarkDotNet。



.NET开源5年了,这些宝藏你还没get?


JMeter压力测试

压力测试是一个项目质量的基础保障行为,没有经过压测的项目怎敢上线?说到压力测试,重量级的Loadrunner这些年用的要少一些了,很多专业测试,也是使用JMeter来做压测了。JMeter是Apache公司基于Java开发的一款开源压力测试工具,体积小,功能全,是一个轻量级的测试工具,使用起来非常简单。其原理是通过中间代理,监控与收集并发客户端发现的指令,将其生成脚本,并发送到应用服务器,再监控服务器反馈结果的一个过程。有着详尽的可视化界面,让开发者可以针对性去优化,有的放矢!

.NET开源5年了,这些宝藏你还没get?


JetBrains DotTrace内存优化

.NET开源5年了,这些宝藏你还没get?


实操起来


性能调优从来都不简单,类似的工具还有很多,本文抛砖引玉,欢迎留言交流。百闻不如一见,工具还是操作起得来最直观。今晚八点,我会在线直播演练BenchmarkDotNet多场景代码基准性能测试,JMeter压测Docker里面的Core WebApi实例,DotTrace监控内存分配和碎片管理,总结一些常规的性能优化经验,欢迎扫码找Nico可免费预约直播,加入微软MVP学习群,群里有上述工具包!限时开发,赶快扫码和大家一起学习!

.NET开源5年了,这些宝藏你还没get?


写在最后的话                                                             

从事了多年IT,突然感觉职业生涯迷茫,尤其是最近闹得沸沸扬扬的拼多多事件,更让从事互联网IT的打工人,难以释怀自己的打工魂。如果我们无法控制自己的努力程度,起码我们去控制下自己的努力方向,让付出更有回报!写惯了CRUD,也去关注下底层,关注下调优,争取让自己的付出拿到更好的回报。这里还给整理一些学习资料,《C#数据结构与算法》《MySQL深层调优》,请扫码领取。


扫码免费领取资料

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《.NET开源5年了,这些宝藏你还没get?》的版权归原作者「dotNET跨平台」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注dotNET跨平台微信公众号

dotNET跨平台微信公众号:opendotnet

dotNET跨平台

手机扫描上方二维码即可关注dotNET跨平台微信公众号

dotNET跨平台最新文章

精品公众号随机推荐

下一篇 >>

AJAX 请求