1
lvzhiqiang 2022-12-16 08:47:57 +08:00
在图片加载响应速度方面 -- 更多和带宽有关。
|
2
abear 2022-12-16 08:50:47 +08:00
买两台 try 一下
|
3
opengps 2022-12-16 08:55:47 +08:00
也就寻找图片,读写输出时候用一点 cpu ,个人感觉 4 核对比 8 核心,可以忽略不计。
重点提升下带宽,其次硬盘介质类型,软件上优化下存储结构(别一个文件夹下 100000 张图片),最后才是 cpu 内存 |
4
eason1874 2022-12-16 08:59:06 +08:00
原图返回,比较吃 CPU 的也就 HTTPS 开销,一般差距不大,往往跑满带宽了 CPU 还没用一半
要是开了转码、压缩功能就吃 CPU 了,但是具体吃多少,也得看具体转码和压缩比例了 |
5
xdeng 2022-12-16 09:39:00 +08:00
zero-copy http 的话就不费 cpu
|
6
longbo666 2022-12-16 10:02:22 +08:00
是不是可以等价理解为:
对于纯静态的文件服务器,cpu 对性能影响大吗? |
7
retanoj 2022-12-16 10:47:02 +08:00
对 U 的消耗可以忽略不计。
静态图片服务器,比较吃带宽。 还需要看是否配置了使用缓存 |
8
star7th 2022-12-16 10:52:41 +08:00
这个事情我有发言权。
因为我自己开发的 cdn 服务就是这种大量文件(图片等资源)的场景。https://www.v2ex.com/t/877718 我的经验是:在达到了一定程度后,cpu 再提升已经没有明显效果,甚至说差不多。对于大量文件的场景,内存和带宽是最重要的。更大的内存也意味着有更大的缓存空间。至于带宽,也是越大越好。对于 2 核和 8 核的 cpu ,我预计差别不大。 |
10
seers 2022-12-16 11:00:21 +08:00 via Android
DMA 不走 CPU ,文件函数直接拷贝到网卡去了
|
11
proxytoworld 2022-12-16 11:04:24 +08:00
@star7th 学习了
|
12
dusu 2022-12-16 11:41:57 +08:00 via iPhone
比起 cpu 静态文件更多在于 io 瓶颈
例如要跑大带宽的机器 硬盘读速率就最好得大于带宽量 |
13
yufeng0681 2022-12-16 14:27:46 +08:00
直观感受一下, 你从笔记本 copy 一个 20GB 的电影到 NAS 或者另外一台电脑,你觉得是什么限制了下载速度?
1 、网络带宽基本接近极限 2 、如果你用老式硬盘,能感觉到磁盘速度不给力,达不到网络带宽极限 3 、无论你 copy 速度多么块, 你都能看到 cpu 的占用,就好像和没占用一样 当然,如果你服务器端实现方案特别复杂,那可能 cpu 损耗就不小,比如你要做图片大小自适应,格式转换什么的,就得读到内存里面,做图形处理,然后再发出去。 |
14
izoabr 2022-12-16 14:35:55 +08:00
我理解可能加不加压缩会影响比较大,其他的 IO 啥的主要靠硬件的 IO 速度
|
16
8355 2022-12-16 15:24:36 +08:00
cpu 应该就是 ng 会用 要不然你就在 ng 层做代理 动态压缩这种可能会有一些影响 不然的话基本没
主要是磁盘 io 和带宽 |
17
fisherwei 2022-12-16 15:53:00 +08:00
@yufeng0681
这不一样,copy 一个 20g 的文件是单一 tcp 链接,大包 cdn 服务器是小文件,高并发。 假设一个图片 5kb ,20g=4,000,000 个文件=建立 /断开 4M 次 tcp 连接。 每一次 3 次握手,4 次挥手,可能还有 tls 握手。 |