Moqui实例上的高CPU利用率问题

时间:2018-01-24 17:08:35

标签: amazon-ec2 moqui

我们正面临生产服务器上随机高CPU利用率的一个问题,这使得应用程序无响应。我们需要重新启动应用程序。我们已经进行了初步水平诊断,但无法得出结论。

我们正在使用以下配置生产服务器

  • Amazon EC2 8gb RAM(m4.large)ubuntu 14.04 LTS
  • Amazon RDS 2gb RAM(t2.small)Mysql数据库
  • Java堆大小-Xms2048M -Xmx4096
  • 数据库连接池大小最小值:20和最大值:150
  • MaxThreads 100

以下两个结果是顶部命令

1)下午6:52:50

KiB Mem :  8173968 total,  2100304 free,  4116436 used,  1957228 buff/cache
KiB Swap:  1048572 total,  1047676 free,      896 used.  3628092 avail Mem  
PID   USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND  
20698 root      20   0 6967736 3.827g  21808 S   3.0 49.1   6:52.50 java 

2)下午6:53:36

KiB Mem :  8173968 total,  2099000 free,  4116964 used,  1958004 buff/cache
KiB Swap:  1048572 total,  1047676 free,      896 used.  3627512 avail Mem 
PID   USER  PR  NI   VIRT    RES    SHR S  %CPU %MEM TIME+COMMAND                                                                           
20698 root 20   0 6967736 3.828g  21808 S  200.0 49.1  6:53.36 java 

注意:

  • 并发用户数 - 5或6(此时)

  • 下午6:52:50至下午6:53:36之间的请求数量 - 4

结果显示CPU利用率急剧增加。

任何可以导致解决方案的建议或方向?

此外,以下是上周的cpu利用率图表。 enter image description here 谢谢!

1 个答案:

答案 0 :(得分:1)

在没有看到堆栈跟踪的情况下,我猜测问题可能是Jetty,因为Jetty中最近记录的错误导致您在EC2上描述的行为(对此进行谷歌搜索。)。我建议你在100%cpu期间做几个堆栈跟踪转储,确认它是Jetty,那么如果你看看关于这个bug的Jetty文档,希望你可能会发现你只需要更新Jetty。