当前位置: 首页 > news >正文

网站开发团队需配备什么岗位专业网站建设大型公司

网站开发团队需配备什么岗位,专业网站建设大型公司,网站建设从零开始,wordpress 分页文章静态化服务 CPU 或 内存偶尔飙高是部署环境中经常遇到的问题#xff0c;一般会采用记录日志的方式来诊断#xff0c;不过有些情况靠日志可能并不能分析出个所以然#xff0c;面对实在无头绪的问题也只能暂时使用重启大法先恢复。为了尽可能精准的定位问题#xff0c;掌握通过 dum… 服务 CPU 或 内存偶尔飙高是部署环境中经常遇到的问题一般会采用记录日志的方式来诊断不过有些情况靠日志可能并不能分析出个所以然面对实在无头绪的问题也只能暂时使用重启大法先恢复。为了尽可能精准的定位问题掌握通过 dump 分析服务运行堆栈信息也是非常必要的本文将分别介绍如何对 .NET Core 2.2 和 .NET Core 3.1 项目进行 dump 分析这里只针对 Linux 下使用容器部署的方式。创建 dump 文件在创建 dump 文件之前最好先查看具体是服务中哪些线程引发的异常然后针对特定线程进行分析不然全扫一遍将是一件非常耗时的工作。进入容器后安装 htopapt-get update apt-get install htop 通过 htop 查看资源使用情况以上是测试程序模拟的状况可知 PID 12 是需要关注的线程执行以下命令即可创建 dump 文件这里以 2.2.8 为例另外可通过 createdump --help 查看更多参数设置容器内默认 dotnet 进程对应 pid 均为 1/usr/share/dotnet/shared/Microsoft.NETCore.App/2.2.8/createdump 1 命令执行完成后将生成 dump 文件 /tmp/coredump.1我们需要通过 docker cp 或 kubectl cp 将 coredump.1  文件复制到主机目录下然后下载到用于 dump 分析的机器上。**注意**在 Docker 部署模式下createdump 命令执行需要有容器特权所以在容器启动时需要加 --privileged true 参数。另外 dump 文件生成需要使用较大内存需适当调整容器内存限制参数。.NET Core 2.2目前大多使用 lldb 进行分析但从零开始搭建环境实在有些折腾不推荐。网上已有封装好的镜像可直接使用如6opuc/lldb-netcore[1] 6opuc/lldb-netcore 默认是基于 .NET Core SDK 2.2.8 构建的镜像如果当前要 dump 的服务 .NET Core 版本非 2.2.8则需要修改 lldb-netcore 源码[2] 重新构建镜像。执行以下命令进入 lldbdocker run --rm -it -v /root/coredump.1:/tmp/coredump 6opuc/lldb-netcore 查看当时运行的线程clrthreads -live 指定需要分析的线程编号PID 12 的线程对应的 16 进制为 c所以找到 OSID 为 c 的记录对应编号为 7【第一列】thread select 7 查看当前线程在托管代码中的堆栈信息clrstack 更多命令可通过执行 soshelp 查看.NET Core 3.1.NET Core 3 开始官方已提供 dotnet-dump[3] 工具进行 dump 分析使用起来也相对简单当然我们依然可以继续使用 lldb 的方式。安装 dotnet-dumpdotnet tool install --global dotnet-dump --version 3.1.141901 进入分析dotnet-dump analyze /root/coredump.1 如果出现以下错误说明 .NET Core SDK 没有安装到 /usr/shard/dotnet 路径下可通过 DOTNET_ROOT 单独指定或重新安装。查看正在运行的托管线程clrthreads 如果出现以下错误是因为当前安装的 .NET Core SDK 版本与容器内 createdump 使用的 SDK 版本不一致如createdump 使用 3.1.3分析使用 3.1.12。指定当前需要分析的线程 DBGsetthread 7 查看当前线程在托管代码中的堆栈信息clrstack 更多 dotnet-dump 命令请查看https://docs.microsoft.com/zh-cn/dotnet/core/diagnostics/dotnet-dump#analyze-sos-commands案例说明以下是生产环境中遇到的一个具体案例有一服务运行一段时间就会出现 CPU 100%而且也降不下来如下监控通过锁定异常线程后多次 dump 并对堆栈信息进行分析发现出问题时都和以下代码相关这里使用了一个表达式计算的开源组件 NCalc[4] 初步判断可能是表达式本身的不合法引起的循环解析通过 dumpobj 对方法参数的查看发现都是很正常的表达式所以猜测并不成立。继续在 Github 项目中的 issues 进行查找可能存在的类似问题发现在较早版本中确实存在卡死的现象 https://github.com/sklose/NCalc2/issues/22这个问题在新版本中已修复而我们出问题的这个服务使用的 NuGet 包确实是比较老的一个版本所以问题基本上可以定位在经过 NuGet 包版本升级后这种现象终于消失了。总结实际在遇到棘手问题的时候可能经常毫无头绪太多问题都不是那么容易定位的。在构建服务支持业务能力的同时要注意代码本身的健壮性在使用外部组件时需要多关注其生态情况dump 分析只是一种协助解决问题的手段。参考资料[1]6opuc/lldb-netcore: https://hub.docker.com/r/6opuc/lldb-netcore[2]lldb-netcore 源码: https://github.com/6opuc/lldb-netcore[3]dotnet-dump: https://docs.microsoft.com/zh-cn/dotnet/core/diagnostics/dotnet-dump[4]NCalc: https://github.com/sklose/NCalc2分享、点赞再看、三连走一波
http://www.zqtcl.cn/news/609796/

相关文章:

  • 网站如何做关键词排名点子网创意网
  • 浙江建设培训考试网站河源东莞网站建设
  • 网站移动端做pc端的301跳转哪些网站是增值网
  • wordpress新闻站浙江耀华建设集团网站
  • 网站开发代理企业网站推广技巧和方法
  • 俄语网站开发用模板做的网站多少钱
  • 丽水网站建设公司广州网络公司
  • 做基金的网站哪个好针对大学生推广引流
  • 国外对旅游网站的建设互联网推广和互联网营销
  • 海南省建设厅网站首页有什么做设计的兼职网站
  • 网站导航功能苏州市高新区建设局网站
  • jsp网站 值班多语种网站开发
  • 公司网站英文做电商
  • 合肥企业网站建设公司哪家好卖产品怎么做网站
  • 网站建设公司86215中国中小企业网站
  • 做网站 如何 挣钱游戏网站开发协议
  • 网站建设发展wordpress比较慢
  • 收费网站推广动漫制作就业方向
  • 湖北优化网站建设设计公司需要什么资质
  • 个人网站怎么制作wordpress创意小工具
  • 网站管理维护怎么做在线oa
  • vue做企业网站wordpress 不发送邮件
  • 深圳做网站哪家便宜邮政编码html编写
  • 黑龙江营商环境建设局网站门户网站整改报告
  • 是不是做推广都得有网站深圳网站建设新闻
  • 旅游做视频网站关于建设网站的书本
  • 营销网站是什么意思快站优惠券app
  • wordpress加dz公司网站搜索优化
  • 北京网站seo技术厂家联合外发加工网
  • 自己做的网站 jen江门模板建站定制