首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu 18.04慢速性能

Ubuntu 18.04慢速性能
EN

Server Fault用户
提问于 2021-05-05 20:06:56
回答 1查看 801关注 0票数 0

我使用的服务器具有以下硬件:

Cpu: AMD Ryzen 9 5950X 16核

Ram: 128 ECC DDR4 ECC

NVMe可持续发展HD

在那里,我已经安装了Ubuntu18.04LTS的最新内核。没有面板,只需为我的php应用程序提供以下服务:

代码语言:javascript
复制
Nginx 1.19.10 
Php7.4-fpm
Elasticsearch 7.11.2
RabbitMQ broker
Varnish 6.4.0
Redis cache
Percona mysql 8.0.22-13

我将不再详细介绍如何为这些服务共享服务器资源。我要说的是,所有与RAM分离的工作都需要有以下优先考虑:

代码语言:javascript
复制
Mysql
PHP FPM
NGINX
Varnish
Elasticsearch
and some little amount I need for Rabbit and Redis

在对此服务器进行进一步监视大约2个月后,使用相同的流量(没有显著变化),看来我的php应用程序在重新启动服务器大约1小时后运行得更平稳和更快,而服务器在没有重新启动的情况下运行了一个星期。

在运行了大约4-5天的服务器之后,在128 in的htop中,RAM将上升到40-45GB。从这一点开始,就再也不会有更多了。我从未见过超过45的填充率。此外,CPU永远不会超过4.00负载。

在最高统帅部我通常有:

代码语言:javascript
复制
Tasks: 595 total,   1 running, 429 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  0.1 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 13196481+total, 44963736 free, 27595196 used, 59405888 buff/cache
KiB Swap: 71303160 total, 71303160 free,        0 used. 10288868+avail Mem

在vmstat 10 4中,我现在有:

代码语言:javascript
复制
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 44972896 6995364 52411440    0    0     9    37   12   12  2  0 98  0  0
 1  0      0 44972676 6995400 52411536    0    0     0   296 1667 2226  3  1 96  0  0
 1  0      0 44970704 6995400 52411544    0    0     0   558 1186 1610  2  0 98  0  0
 1  0      0 44965440 6995400 52411540    0    0     0    52  986 1555  0  0 100  0  0

在免费的-m里

代码语言:javascript
复制
              total        used        free      shared  buff/cache   available
Mem:         128871       26809       44046         262       58015      100615
Swap:         69631           0       69631

正如我所看到的,大多数RAM都是用于缓存的,这是我为mysql、php和nginx设置的。掉期几乎不用了。在山顶,我只看到顶部约3.00米.我在那里见过高达6.00米的山峰。

问题是,为什么这个服务器不是在缓存中表现得更好,而是相反呢?当RAM未被填充时,它的工作速度似乎更快了。

有什么需要进一步调查的东西吗?

提前谢谢你!

EN

回答 1

Server Fault用户

发布于 2021-05-06 07:22:26

依赖“手动”测试应该是第一步,但容易出错。现在,您必须深入挖掘,并使用适当的工具进行一些调查,以获得综合基准数据。

根据我的经验,我建议:

  • 选择一些对您至关重要的度量标准,您知道如何度量它们(即页面加载时间、页面加载时间线、缓存命中率、.)
  • 选择合适的工具(参见这里是执行基准测试的工具列表。)
  • 量它们
  • 对配置进行更改
  • 再量一次
  • 恢复配置
  • 至少重复这个过程三次(为了更好的结果)

这将为您提供足够的数据,以分析和显示更多的细节,以帮助您。使用当前的设置,在进行了大量的基准测试之后,您应该观察到较慢的响应。

查看解释它们的清漆统计数据、mysql慢速日志、清漆日志(工人、队列、等待工作人员等)、Elasticsearch的Xms和Xmx设置,检查兔子计数器(队列)等等。这应该会告诉你更多关于根本问题的信息。

在应用程序中实现APM之前,最后的方法是检查上面提到的所有已使用服务的所有指标。在我看来,实施APM是不可避免的。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1062689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档