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

环保网站模版菜户营网站建设

环保网站模版,菜户营网站建设,wordpress+站群插件,公益主机国外开发者平台 HankerRank 发布的 2018 年开发者技能调查报告中有一项关于雇主最看重哪些核心能力的调查#xff0c;结果显示如下#xff1a;排名前几的比较受重视的能力分别为#xff1a;解决问题、编程语言熟练程度、Debug、系统设计和性能优化。解决问题的能…国外开发者平台 HankerRank 发布的 2018 年开发者技能调查报告中有一项关于雇主最看重哪些核心能力的调查结果显示如下排名前几的比较受重视的能力分别为解决问题、编程语言熟练程度、Debug、系统设计和性能优化。解决问题的能力以超高比例排名第一这也是为什么很多面试过程中面试官都喜欢问如下问题1、你这个项目遇到的最大挑战是什么如何解决的2、如果线上发生了报警你回如何排查呢3、你有解决过什么线上问题吗4、能列举几个你知道的排查Linux服务器线上问题的命令吗这些都是比较常见的问题还有一些比较具体的问题也是建议很多开发者都需要掌握的如1、线上服务器Load飙高如何排查2、线上服务器CPU占用率高如何排查3、线上服务器频繁发生Full GC如何排查4、线上服务器发生死锁如何排查这些问题的回答一方面考察了面试者是否具有很强的实战经验另外一方面也能体现出其解决问题的能力。毋庸置疑作为开发人员来说定位并解决问题的能力是至关重要的。因为一旦线上发生了问题如CPU占用率高如果不及时解决很容易导致网站响应慢、服务器宕机等问题。那么书归正传本文我们就来简单介绍一下如果线上服务器发生CPU占用率过高的问题时应该如何排查并定位问题。一、问题发现本文整理自一个真实的案例是楼主负责的业务在一次大促之前的压测时发现了这个问题。在每次大促之前我们的测试人员都会对网站进行压力测试这个时候会查看服务的cpu、内存、load、rt、qps等指标。在一次压测过程中测试人员发现我们的某一个接口在qps上升到500以后CPU使用率急剧升高。CPU利用率又称CPU使用率。顾名思义CPU利用率是来描述CPU的使用情况的表明了一段时间内CPU被占用的情况。使用率越高说明你的机器在这个时间上运行了很多程序反之较少。二、问题定位遇到这种问题首先是登录到服务器看一下具体情况。定位进程登录服务器执行top命令查看CPU占用情况$top   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME  COMMAND  1893 admin     20   0 7127m 2.6g  38m S 181.7 32.6  10:20.26 javatop命令是Linux下常用的性能分析工具能够实时显示系统中各个进程的资源占用状况类似于Windows的任务管理器。通过以上命令我们可以看到进程ID为1893的Java进程的CPU占用率达到了181%基本可以定位到是我们的Java应用导致整个服务器的CPU占用率飙升。定位线程我们知道Java是单进程多线程的那么我们接下来看看PID1893的这个Java进程中的各个线程的CPU使用情况同样是用top命令$top -Hp 1893   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME  COMMAND  4519 admin     20   0 7127m 2.6g  38m R 18.6 32.6   0:40.11 java通过top -Hp 1893命令我们可以发现当前1893这个进程中ID为4519的线程占用CPU最高。定位代码通过top命令我们目前已经定位到导致CPU使用率较高的具体线程 那么我么接下来就定位下到底是哪一行代码存在问题。首先我们需要把4519这个线程转成16进制$printf %x 451911a7接下来通过jstack命令查看栈信息$sudo -u admin  jstack 1893 |grep -A 200 11a7HSFBizProcessor-DEFAULT-8-thread-5 #500 daemon prio10 os_prio0 tid0x00007f632314a800 nid0x11a2 runnable [0x000000005442a000]   java.lang.Thread.State: RUNNABLE  at sun.misc.URLClassPath$Loader.findResource(URLClassPath.java:684)  at sun.misc.URLClassPath.findResource(URLClassPath.java:188)  at java.net.URLClassLoader$2.run(URLClassLoader.java:569)  at java.net.URLClassLoader$2.run(URLClassLoader.java:567)  at java.security.AccessController.doPrivileged(Native Method)  at java.net.URLClassLoader.findResource(URLClassLoader.java:566)  at java.lang.ClassLoader.getResource(ClassLoader.java:1093)  at java.net.URLClassLoader.getResourceAsStream(URLClassLoader.java:232)  at org.hibernate.validator.internal.xml.ValidationXmlParser.getInputStreamForPath(ValidationXmlParser.java:248)  at org.hibernate.validator.internal.xml.ValidationXmlParser.getValidationConfig(ValidationXmlParser.java:191)  at org.hibernate.validator.internal.xml.ValidationXmlParser.parseva lidationXml(ValidationXmlParser.java:65)  at org.hibernate.validator.internal.engine.ConfigurationImpl.parseva lidationXml(ConfigurationImpl.java:287)  at org.hibernate.validator.internal.engine.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:174)  at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)  at com.test.common.util.BeanValidator.validate(BeanValidator.java:30)通过以上代码我们可以清楚的看到BeanValidator.java的第30行是有可能存在问题的。三、问题解决接下来就是通过查看代码来解决问题了我们发现我们自定义了一个BeanValidator封装了Hibernate的Validator然后在validate方法中通过Validation.buildDefaultValidatorFactory().getValidator()初始化一个Validator实例通过分析发现这个实例化的过程比较耗时。我们重构了一下代码把Validator实例的初始化提到方法外在类初始化的时候创建一次就解决了问题。四、总结以上展示了一次比较完成的线上问题定位过程。主要用到的命令有:top 、printf 和 jstack另外线上问题排查还可以使用Alibaba开源的工具Arthas进行排查以上问题可以使用一下命令定位thread -n 3 //查看cpu占比前三的线程以上本文介绍了如何排查线上服务器CPU使用率过高的问题如果大家感兴趣后面可以再介绍一些关于LOAD飙高、频繁GC等问题的排查手段。关于本次问题排查你有什么想说的呢欢迎交流。
http://www.sadfv.cn/news/351271/

相关文章:

  • 广州学校网站建设软件界面设计方案
  • 地信的网站建设灌云网站设计
  • 企业网站建设文档池州网络推广
  • 一个网站空间可以做多少个网站做网站能挣多少钱
  • 哪个网站科技新闻好工程公司简介范文
  • 有哪些网站可以做问卷调查wordpress只显示文字
  • 磁力搜索引擎哪个好智推教育seo课程
  • 专注扬中网站建设昆明官方网站建设
  • 济南网站建设山东聚搜网力推建设网站需要专业
  • 陕西建设厅网站人才库建筑设计图用什么软件
  • 网站国际化到哪里去学营销管理课程
  • 义乌网站建设公司价位google seo推广
  • 中小型网站建设与网络搭建wordpress手机登录设置方法
  • 自已建网站卖东西要多少钱手机用什么软件做网站
  • 广东网站建设哪里有个人运营app需要多少钱
  • 不属于c2c网站的是河北网站建设收益
  • 智慧团建登录网站入口网站重构方案
  • 临沂网站建设中企动力做网站自己上传电影要多大服务器
  • 哪里有建设网站wordpress 文字链接
  • 昆明建设网站公司银川哪里做网站
  • 设计网站可能遇到的问题网站群建设分析
  • 山东建设人才网站个人可以开发app软件吗
  • minecraft做图网站建站宝盒小程序
  • 免费一百个空间访客领取网站wordpress 两个导航
  • 网站和h5网站建设行业现状
  • 威海网站seo环保设备网站源码
  • 只做美食类目产品的网站数据统计网站有哪些
  • 汇邦团建网站谁做的刷会员网站怎么做
  • 全国门户网站有哪些小程序广州开发公司
  • 东莞网络公司网站建设eclipse静态网站开发