最近跑了个脚本用到了 redis ,尝试了 Unix 和 tcp 这两种方式连接 redis ,python 的 CPU 占用两者之间竟然相差两倍多。 现在换回了 tcp ,连接池保持在 2000 个连接。但是 CPU 从 58% 降到了 18%.
请问各位大佬,是我用的方式不对吗? 还是哪里需要优化?
1
hefish 2022-11-01 10:44:19 +08:00
我也想知道原因。哪位大佬指点一下方向。
|
2
Orlion 2022-11-01 14:12:31 +08:00 1
unix 响应时间比 tcp 快,因此 python 脚本 cpu 利用率更高?
|
3
kaiveyoung 2022-11-01 15:21:40 +08:00
UNIX Domain Socket 不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,当然要节省 cpu
|
4
wangyu17455 2022-11-01 15:25:00 +08:00
@kaiveyoung 哥们你好像看反了
|
5
kaiveyoung 2022-11-01 15:56:07 +08:00
@wangyu17455 卧槽...抱歉打扰了
|
6
des 2022-11-01 16:01:01 +08:00 via iPhone
查查 CPU 耗在哪里了,我也挺好奇的
|
7
superrichman 2022-11-01 16:04:35 +08:00
上代码
|
8
gabon 2022-11-01 16:06:07 +08:00 via iPhone
使用 perf 工具做个 cpu 火焰图看看
|
9
redeyesovo 2022-11-01 18:03:59 +08:00
开 ssh ,让我上去看看(🐶
|
10
chenqh 2022-11-01 18:34:08 +08:00
问个问题 apue 有 python 版本的吗,c 版本实在看不动
|
11
zhoudaiyu 2022-11-01 19:47:19 +08:00
TCP 是本机还是其他机器?延迟怎么样?
|