随笔分类 -  实现原理

摘要:## 前言 最近,我在微信公众号和博客园分享了一篇关于[.NET微服务系统迁移至.NET 6.0的故事](https://www.cnblogs.com/InCerry/p/microservice-migration-net-6.html)的文章,引起了许多读者的关注。其中,许多人对基于 Open 阅读全文
posted @ 2023-04-17 09:02 InCerry 阅读(10095) 评论(40) 推荐(101) 编辑
摘要:相信最近看过我的文章的朋友对于Microsoft.Extensions.ObjectPool不陌生;复用、池化是在很多高性能场景的优化技巧,它能减少内存占用率、降低GC频率、提升系统TPS和降低请求时延。 那么池化和复用对象意味着同一时间会有多个线程访问池,去获取和归还对象,那么这肯定就有并发问题。 阅读全文
posted @ 2022-11-03 11:27 InCerry 阅读(546) 评论(1) 推荐(12) 编辑
摘要:简介 在之前的一篇文章.NET性能系列文章一:.NET7的性能改进中我们聊到Linq中的Min()和Max()方法.NET7比.NET6有高达45倍的性能提升,当时Benchmark代码和结果如下所示: [Params(1000)] public int Length { get; set; } p 阅读全文
posted @ 2022-10-28 09:23 InCerry 阅读(8119) 评论(18) 推荐(30) 编辑
摘要:## 前言 在过去的一些文章里面,我们聊了一些.NET平台上高性能编程的技巧,今天带大家了解一下AlterNats这个库是如何做到远超同类SDK性能的。 NATS:NATS是一个开源、轻量级、高性能的分布式消息中间件,实现了高可伸缩性和优雅的Publish/Subscribe模型。NATS的开发哲 阅读全文
posted @ 2022-07-12 09:30 InCerry 阅读(1798) 评论(12) 推荐(18) 编辑
摘要:## 前言 在上文[如何获取GC的STW时间]一文中,我们聊到了如何通过监听GC发出的诊断事件来计算STW时间。里面只简单的介绍了几种GC事件和它的流程。 群里就有小伙伴在问,那么GC事件是什么时候产生的?分别是代表什么含义? 那么在本文就通过几个图为大家解答一下这个问题。 有哪些GC模式? 工作 阅读全文
posted @ 2022-07-11 09:30 InCerry 阅读(4694) 评论(20) 推荐(46) 编辑
摘要:## 简介 性能优化就是如何在保证处理相同数量的请求情况下占用更少的资源,而这个资源一般就是CPU或者内存,当然还有操作系统IO句柄、网络流量、磁盘占用等等。但是绝大多数时候,我们就是在降低CPU和内存的占用率。 之前分享的内容都有一些局限性,很难直接改造,今天要和大家分享一个简单的方法,只需要替 阅读全文
posted @ 2022-05-25 09:05 InCerry 阅读(6046) 评论(32) 推荐(69) 编辑
摘要:[TOC] 一、前言 本篇文章配图以及文字其实整理出来很久了,但是由于各种各样的原因推迟到现在才发出来,还有之前立Flag的《多线程编程》的笔记也都已经写好了,只是说还比较糙,需要找个时间整理一下才能和大家见面。 对于C 中的 类相信大家都不陌生,这是一个 类型,可以通过 Key/Value(键值对 阅读全文
posted @ 2019-01-26 23:24 InCerry 阅读(20104) 评论(43) 推荐(82) 编辑
摘要:[TOC] 一、前言 笔者最近在做一个项目,项目中为了提升吞吐量,使用了消息队列,中间实现了 生产消费模式 ,在生产消费者模式中需要有一个集合,来存储生产者所生产的物品,笔者使用了最常见的 集合类型。 由于生产者线程有很多个,消费者线程也有很多个,所以不可避免的就产生了线程同步的问题。开始笔者是使用 阅读全文
posted @ 2018-08-18 16:42 InCerry 阅读(24935) 评论(37) 推荐(59) 编辑