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

有没有学做零食的网站站长工具网

有没有学做零食的网站,站长工具网,北京承达创建装饰工程有限公司,网络管理是什么问题背景: 近期针对老的PHP接口做了迁移重构,用golang重新实现,在上线之前,测试进行了压测,压测的量级为:200请求/s, 连续请求10s,发现接口出现大量超时错误,查看日志发现错误信息为…

问题背景:

近期针对老的PHP接口做了迁移重构,用golang重新实现,在上线之前,测试进行了压测,压测的量级为:200请求/s, 连续请求10s,发现接口出现大量超时错误,查看日志发现错误信息为:socket: too many open files (测试服务器配置:4核8G)

问题分析:

出现问题后,心里大概猜测是新版go接口使用了大量协程并发的去调用其他服务获取数据,导致一瞬间将socket链接数占满导致的

首先查看了系统的文件描述符打开限制, 为65535:

 然后让测试帮忙重新压测,查看项目进程使用的文件描述符数量:

发现并没有达到系统限制 

然后百度进行查询,才知道每个进程有自己的文件描述限制,查看方式如下:

cat /proc/839357/limits

 可以看到,当前项目进程的文件描述限制为 1024, 那到这里,一下就明朗了,确实是文件描述符不够用导致的

那么问题来了,这个进程的文件描述符石谁来控制的呢,我想到我们的go服务使用守护进程来进行统一管理的,百度查询后了解到,守护进程有一个默认的文件描述符配置,初始值为1024,不做修改的话,守护进程启动的每个服务,文件描述限制都是1024,如下图:

问题解决:

 为了临时解决此问题,决定修改为65535,发现改了配置之后,reload、update都不生效,必须重启守护进程,这里要特别注意

因为线上守护进程不能随意重启,所以通过代码修改了此配置,代码如下:

syscall.Setrlimit(syscall.RLIMIT_NOFILE, &syscall.Rlimit{Max: 65535,Cur: 65535,
})

至此,这个问题算是临时解决,可以正常上线

深层次思考:

通过这个问题,可以看出系统本身的抗并发能力很弱,所以上线后又进行一次具体的分析,分析思路如下:

  • 模拟压测请求,查看并发情况下,开启的协程数量 (基本协程的使用都是请求其他服务的接口,通过这个来看对其他服务的并发调用情况)
  • 查看依赖服务主要接口的抗并发能力,在并发量大的情况下,依赖服务是否存在问题从而影响web端
  • 调用其他服务是否使用了连接池,tcp是否进行了复用,链接是否正常关闭
  • 调用其他服务是否有做超时熔断以此来保证当前服务的稳定性
  • 当前服务是否有做限流控制,当并发超过承受能力后,新的流量只会机器压力更大导致服务出现更多的问题
  • 对携程的使用是否要加以控制,比如使用协程池

go萌新一枚,后续的线上问题以及解决过程会持续更新

下篇文章会针对各项思考去逐个分析

http://www.hkea.cn/news/765489/

相关文章:

  • 怎么用wordpress搭建网站百度关键词排名点
  • 外挂网站模板域名搜索引擎入口
  • 手机网站开发 pdfseo搜索引擎优化工作内容
  • 上海中小网站建设洛阳seo博客
  • 南宁网站建设公司哪家专业搜索引擎优化包括
  • 新疆住房与建设厅网站新产品推广方式有哪些
  • 做网站站怎么赚钱网络营销模式有哪些?
  • 南通城市建设集团有限公司网站南京谷歌推广
  • 南通网站定制方案怎么查找关键词排名
  • 权大师的网站是哪个公司做的百度做个人简介多少钱
  • 烟台网站建设设计软文广告经典案例100字
  • 做微信用什么网站广州百度seo代理
  • 网站建设目标 优帮云跨境电商营销推广
  • 郑州华恩科技做网站怎么样竞价排名适合百度吗
  • flask做大型网站开发深圳seo博客
  • 合肥网站建设平台小程序怎么引流推广
  • 做网站被拘留免费找客源软件
  • 门户型网站建设百度seo快速提升排名
  • 印度做杂质的网站如何进行网络推广
  • 建设厅八大员兴安盟新百度县seo快速排名
  • 南京网站建设索q.479185700小说排行榜百度
  • 幼儿做爰网站seo工程师是什么职业
  • 申请空间 建立网站吗西安百度推广运营
  • 做花馍网站百度联盟
  • 沈阳建设企业网站google浏览器官网
  • 毕业论文 网站开发营销qq下载
  • 建网站要多长时间外贸网站优化
  • 苹果网站做的好的点电脑培训网上免费课程
  • 做网站开源互联网优化是什么意思
  • 模仿做网站b站上海热点新闻