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

做购物网站之前做些什么百度一下你就知道官网百度

做购物网站之前做些什么,百度一下你就知道官网百度,兰州装修公司,wordpress查看访问量前因 收到线上服务器CPU使用率100%的告警信息。 环境 jdk1.8CentOS Linux ;CentOS Linux 排查 查看服务器CPU使用率 果然cpu已经达到了100%了 命令 top 使用arthas工具 使用方式 arthas 执行命令java -jar arthas-boot.jar 然后执行命令 thread 看到有两个…

前因

收到线上服务器CPU使用率100%的告警信息。

环境

  • jdk1.8
  • CentOS Linux ;CentOS Linux

排查

查看服务器CPU使用率

果然cpu已经达到了100%了
命令 top
在这里插入图片描述

使用arthas工具 使用方式 arthas

  1. 执行命令java -jar arthas-boot.jar

  2. 然后执行命令 thread
    看到有两个线程cpu非常高,很奇怪竟然有一个是 GC线程,后面再说
    在这里插入图片描述

  3. 再执行命令 thread -n 3 列出前三个最忙的线程
    找打了这个线程栈了,发现是查询数据库导致的,DAO的方式是 getUserInfoByMobile
    在这里插入图片描述

  4. 拿到方法入参,查询发现需要从数据库中,load出一千多万行数据。
    在这里插入图片描述

真相

真相就在这,由于表中存在大量没有手机号的数据,这时入参没有做非空校验,导致直接查询出全部没有手机号的数据,并load出这些数据。
原始sql
select * from user where mobile = "";

解决方案

这就好解决了,业务场景是判断当前手机号是否已经存在,在此处做修改,如果当前手机号是空的我就不需要在查询数据库,所以我只需要做手机号字符串非空校验即可

小结

至于为什么GC线程的CPU也是很高呢,也正是因为需要从数据库中load出一千多万条数据到虚拟机栈中,但是由于JVM中的年轻代空间大小有限,所以需要进行垃圾回收,而垃圾回收本身就对CPU使用率较高,而且又GC连续频繁执行。

http://www.zhongyajixie.com/news/49188.html

相关文章:

  • 白云地网站建设济南做网站公司哪家好
  • 网站改版 方案福州百度推广开户
  • 上海网站营销公司长春疫情最新消息
  • 南通市区有哪几家做网站的软文推广文章范文
  • 做网站设计挣钱吗长沙有实力seo优化公司
  • wordpress图片设置水印2019嘉兴百度seo
  • 在线文库网站建设电子商务网店运营推广
  • 苏州集团网站设计开发网络营销策略内容
  • 网站很久没被收录的新闻怎么处理运营推广渠道有哪些
  • 中太建设集团网站查看网站流量的工具
  • wordpress标签云插件东莞seo建站优化工具
  • 视频网站开发代码新网站推广方法
  • 在哪个网站做一件代发靠谱吗网站优化哪家好
  • 武安市精品网站开发给公司做网站的公司
  • qifeiye做的网站如何企业网站seo公司
  • wordpress类似的博客太原seo排名公司
  • 自己做考试题目网站优秀的网络搜索引擎营销案例
  • 一起做陶瓷的网站北京seo排名服务
  • 网站建设需要提供哪些资料seo排名优化教学
  • 电商设计个人作品集制作什么是seo教程
  • 色情姐姐做床戏网站最新消息
  • 青岛网站建设eoe网络渠道有哪些
  • 电商个人网站建设商品推广软文800字
  • 河南网站建设设计价格简述网站推广的意义和方法
  • 网站设计方案策划什么文案容易上热门
  • wordpress变装网seo黑帽技术有哪些
  • 能先做网站再绑定域名吗搜一搜站长工具
  • 网站建设维护合同模板微博推广价格表
  • 如何只做网站app开发网站
  • 怎么选择邯郸做网站查关键词热度的网站