05 2023 档案
摘要:Key的命名规范 可读性和可管理性:业务名:实体名:id ⇒ blog:article:1(使不同类型的数据统一放到一个命名空间下,键命名以冒号分开即可:) 简洁性:减小key的长度,建议不要超过44字节(超过这个长度存储的数据类型不一样,性能也不一样) humanresource:employee
阅读全文
摘要:线上反馈signalR推送有延期 CPU 和 内存 都是 90% 左右,由于经费的问题,让我们先尝试优化代码。 看了一下核心代码设置了信号量为50,限制速度。果断增大为100。 生产环境更新后,一点作用都没有,高峰期还是有延期,作用不大。 最后发现当前服务器有有一个报表服务,下午跑报表抢占了线程资源
阅读全文
摘要:虽然redes没有崩掉,但是性能急剧下降,导致应用服务读写redis读写超时。 简单解决方法 一句命令搞定,CONFIG SET maxmemory 它可以立即改变 Redis 的最大内存限制,无需重启 Redis。 通过 CONFIG GET maxmemory 查看是否修改成功 。 最终解决方案
阅读全文
摘要:项目引入 <PackageReference Include="Grpc.AspNetCore.Server.Reflection" Version="2.51.0" /> net6.0的项目 Program.cs 需要添加的代码 //注入服务 builder.Services.AddGrpcRef
阅读全文
摘要:使用NLog通过Kafka实现日志收集,最终在Kibana展示 NuGet包引用 <PackageReference Include="NLog.Kafka" Version="0.2.1" /> <PackageReference Include="NLog.Web.AspNetCore" Ver
阅读全文
摘要:一、常备分支(跟随git仓库一直存在): 分支名称发布环境签入者自动构建发布说明 hostfix_develop 开发环境 开发 是 日常开发人员进行联调自测时,将特性分支合并到此分支。将触发自动构建到开发环境 develop 需求明确纳入接下来的发布版本时,对应特性分支合并到此分支。然后发布到开发
阅读全文
摘要:骆驼式命名法 骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母。 小驼峰法: 除第一个单词之外,其他单词首字母大写。 大驼峰法: 把第一个单词的首字母也大写了。 文件命名规范 1.文件命
阅读全文
摘要:介绍 Sentry 是一个实时事件日志记录和汇集的平台。其专注于错误监控以及提取一切事后处理所需信息而不依赖于麻烦的用户反馈。它分为客户端和服务端,客户端(目前客户端有 C#, Python, PHP, JavaScript, Ruby等多种语言)就嵌入在你的应用程序中间,程序出现异常就向服务端发送
阅读全文
摘要:一、BaGet简介 BaGet是一个构建于ASP.NET Core 基础上的 NuGet V3 服务器的开源实现 github地址:https://github.com/loic-sharma/BaGet release包: https://github.com/loic-sharma/BaGet/
阅读全文
摘要:一、背景 经监控,标签关系上报20w+的标签关系处理耗时达到3800多秒。约一个小时 二、问题定位 经排查定位到以下代码耗时占比最大 这段代码没有涉及到任务数据库及外部调用 其中的_dataCount总共20w+,证明两个foreach一共循环了20w+次 三、复杂度分析 1 外层Foreach循环
阅读全文