公司项目用了某小公司的云服务器( 8 核 16g ),使用过程出现各种奇奇怪怪问题。
1.启动 springboot 的 jar 包,正常服务器启动完成只需 2 、3 秒,但是在这台服务器上非常慢,需要 1 分 42 秒(日志输出 spring 那几个大字母就要好几秒,输出完 spring 就是漫长的等待直到开始输出日志)
2.接口响应时间间歇性的非常慢,正常请求不到 1 秒的接口,有时候会响应 20 多秒甚至超时。
3.一句稍微复杂的 sql,在本地笔记本的 mysql 上只需 1 、2 秒就执行。在服务器上的 mysql 需要十几秒的查询时间。
这个速度甚至不如我们自己笔记本。可以用什么软件来测试一下证明这台服务器有问题呢(或者是证明是我们软件层面的问题)
1
soji18 2020-09-01 11:19:43 +08:00 via Android
跑分?
|
2
xflcx1991 2020-09-01 11:20:00 +08:00 1
难道不是在这个服务器上做一套 Benchmark 吗?
|
3
laminux29 2020-09-01 11:21:30 +08:00 1
跑分软件不就是为这种场景准备的吗?
CPU 、内存、存储设备等,跑一次分就知道了。 |
4
xooass 2020-09-01 11:29:10 +08:00
某小公司? 不会就是那种租台服务器+买个 VPS 面板就开卖的吧,那种稳定性纯靠运气
|
5
superrichman 2020-09-01 11:35:54 +08:00 via iPhone 1
盲猜服务器 dns 配置有问题
|
6
buliugu 2020-09-01 11:36:55 +08:00
这个超卖的有点过分啊
|
7
cuixiao603 OP @xooass #4 哈哈 这个倒不是,就是某公司的云服务外包给某大公司来建设的那种,但是这个大公司的技术也不怎么样
|
8
cuixiao603 OP @superrichman #5 能详细说说吗,是我本地的 dns 配置问题吗
|
9
hasdream 2020-09-01 11:44:31 +08:00 1
启动慢? FQDN 是不是没有设置 `time hostname -f ` 看需要多久。 觉得性能有问题就跑个分看下 Unixbench
|
10
lv2016 2020-09-01 11:48:21 +08:00
关于第三点:我自己电脑的运行速度确实比我阿里云(4c8g)的服务器快
|
11
594duck 2020-09-01 11:50:13 +08:00 1
Spring 包又需要解 DNS
怀疑是服务器超售 CPU 同时磁盘 IO 不够 启动 Spring 包这么久,开二个 terminal 看一下 cpu 耗时和 idle,最重要的是 load average, NI, SI, WA 。 |
12
594duck 2020-09-01 11:51:28 +08:00
Spring 包又不需要解 DNS
又不是 SSH 慢,因为 DNS 反解,别瞎走方向。 先看系统各 IO 层面。 |
13
cuixiao603 OP @hasdream #9 time hostname -f 很快 毫秒级的
|
14
cuixiao603 OP @lv2016 #10 哈哈 我还拿这个服务器和阿里云的 1 核服务器对比了,阿里云的很快的
|
15
AstroProfundis 2020-09-01 11:56:14 +08:00
石头盘吧
|
16
DJQTDJ 2020-09-01 12:10:46 +08:00 1
第一机器配置
第二目前 cpu 内存使用率 第三网络环境 |
17
narmgalaxy 2020-09-01 12:20:25 +08:00
盲猜是 mysql 相关的问题
|
18
dilu 2020-09-01 12:22:18 +08:00 2
提供个方法
用 strace 看一下系统调用 再用-c 参数看看系统调用的统计 看看时间最长的系统调用是哪个 然后再有针对性的去排查 CPU 内存 磁盘 网络这几个方向 |
19
opengps 2020-09-01 12:38:31 +08:00
具体问题需要找到具体制约因素,比如说硬盘慢,比如说 cpu 不够
单纯迁移过来表现不佳,没法归咎于“服务器问题”。分享个我的例子:最近给客户做的项目,明确要求如果使用云服务器硬盘则必须使用 ssd,但是对方一句我程序性能有问题,不服,我给他买了 ssd 换上立刻解决,当场打脸,对方不说话了 |
20
opengps 2020-09-01 12:42:11 +08:00 2
楼层里有人提到超卖,这也是笼统不负责任的找答案方式,虽然不排除存在这个可能导致的,但是并不一定就是当前问题的根本原因
几乎所有云服务器都是虚拟机,而虚拟机有个天生的缺陷就是硬盘的 io 损失巨大(我测算过 1k 块大小的 iops 指标,只能达到原来物理硬盘的十分之一) 楼主可以先尝试下买个单独的 ssd 硬盘挂上,看下测试结果,在明确说下是不是硬盘问题,不建议直接说成“服务器问题”这么笼统的概念 |
21
jeeyong 2020-09-01 15:18:08 +08:00
找台笔记本跑同样的项目.
笔记本没有类似的问题.就是他的问题. 如果领导坚持不换, 他就是吃回扣了.. 告他. 骂他. 被公司解雇就继续骂领导, 骂公司. 自己开发自动发贴机, 天天各大论坛渠道发帖骂他... |
22
Ayahuasec 2020-09-01 15:28:08 +08:00
这个性能表现让我想起来,去年有个我同学用 qemu 跑 debian,结果速度巨慢,虚拟机都快分配了所有资源了还是很慢,测试程序的时候主机半分钟能跑完但是虚拟机里要快 5 分钟才能跑完,最后我们两个来回排查发现他 kvm 没开......
|
23
cuixiao603 OP @narmgalaxy #17
应该不是吧 springboot 刚开始启动还没开始连数据库呢 |
24
cuixiao603 OP @jeeyong #21 哈哈 说出你的故事啊老哥
|
25
CallMeReznov 2020-09-01 17:13:24 +08:00
云系统最容易出问题的环节就是磁盘
建议看下 iostat 对比一下就知道了 |
26
jeeyong 2020-09-01 22:22:22 +08:00
@cuixiao603 没啥故事...和领导吵架, 告公司, 攻击公司业务服务器...
现在公司黄了, 我待业在家..就这样. |
27
bitholic 2020-09-01 22:38:50 +08:00
可能是系统熵(entropy)太低了,导致 tomcat 启动太慢,加个-Djava.security.egd=file:/dev/./urandom 试试?
|
28
theqwang 2020-09-02 08:02:43 +08:00
建议先测试一下服务器 IO 性能,多半 IO 有问题
|
29
nuk 2020-09-17 05:00:53 +08:00
十有八九内存分超了,测试一下内存读写速度就知道了
|