从 ubuntu22.04 虚拟机迁移到 fedora38 物理机, go tcp server 压测表现提升了 81% !
source link: https://www.v2ex.com/t/942772
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
从 ubuntu22.04 虚拟机迁移到 fedora38 物理机, go tcp server 压测表现提升了 81% !
Nazz · 8 小时 42 分钟前 · 1705 次点击感觉提升有点离谱, 我对照的另一个服务提升微乎其微, 各位帮忙分析一波?
aru 8 小时 37 分钟前 3 迁移前和迁移后的硬件环境都没说明
这是毫无意义的对比 |
Kinnice 8 小时 37 分钟前 1 按理说你应该再做这两个尝试:
ubuntu22.04 虚拟机迁移到 ubuntu22.04 物理机 fedora38 虚拟机迁移到 fedora38 物理机 另外保证内核参数要一致,tcp 连接数,超时之类的配置 |
Nazz 8 小时 28 分钟前 编译器是 go1.20
|
yyzh 8 小时 26 分钟前 via Android 你这又没有直通又没有 sriov 的测来就完全是没用的数据
|
hxndg 7 小时 35 分钟前 2 额。。。。这种研究的唯一意义可能只是满足好奇心,因为从虚拟机到物理机变化的东西太多了。。。IO 层面,上下文层面都不一样。。。
|
Nazz 7 小时 17 分钟前 @hxndg 想要确定具体的原因还很艰难, 两个服务虽然都是基于标准网络库的 websocket server implementation, 但是具体实现差太远了, 两三千行代码
|
msg7086 6 小时 38 分钟前 太多变量了,怎么给你分析。另外上面有人提了,你可以 SRIOV 把物理网卡放进去测性能看看。
|
dzdh 6 小时 0 分钟前 sysctl.conf ulimits 啥的都 100%完全一样吗
|
Nazz 5 小时 59 分钟前 via Android @msg7086 同一颗 CPU. 装了双系统,一个 Windows10 加 VMware Ubuntu22.04 Server ,一个 Fedora38 Desktop
|
Nazz 5 小时 56 分钟前 via Android @dzdh 没看 sysctl.conf ,没改过系统配置. ulimits 没报错,测试参数是 1000 连接,每连接发 1000 条 1KB 的 websocket 消息
|
hefish 5 小时 45 分钟前 怎么。。。这虚机满足不了你了是吗?
|
jworg 5 小时 12 分钟前 1 kernel 都不一样,变量太多了,22.04.1 lts 还是 5.15 ,fedora 已经到 6.2 了,中间多了不少有意思的东西
|
jworg 5 小时 9 分钟前 除了内核版本,消费级 cpu 还有睿频因素在那,实体机默认能睿频,虚拟机不一定能。
|
mkz 4 小时 57 分钟前 你这个环境主要就是 CPU 和内存
|
jworg 4 小时 47 分钟前 1 @Nazz 找了下,在 5.17 的时候确实有一个比较适合压测场景的 tcp 优化 https://www.phoronix.com/news/Linux-5.17-TCP-Optimization 验证的话看下 kernel 版本,在我印象中 ubuntu 22.04.1 是 5.15 ,可以通过 hwe 升级到 5.19 ,具体命令是 sudo apt install --install-recommends linux-generic-hwe-22.04 ,执行前先看下先前的版本,新的 22.04 lts 似乎已经升级到 5.19 了。如果是新的内核那就不是这个原因了。
|
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK