静态资源服务器随机读磁盘不会造成性能问题吗

2018-12-08 12:44:06 +08:00
 cc959798

我们缓存一些文件图片或者把生成的结果缓存成 FileCache,但是文件保存在磁盘上,大量请求过来不会造成磁盘随机 IO 变多而造成性能问题吗?

1642 次点击
所在节点    问与答
15 条回复
msg7086
2018-12-08 13:10:48 +08:00
可以加内存,让内存来顶。热数据本来就适合放固态硬盘。液态的性能不行。
cc959798
2018-12-08 15:29:18 +08:00
@msg7086 是的,可以放在 shm,但是一般的静态自资源如果特别多的话都放在磁盘上就会有问题吧,大量的随机 io 产生,普通磁盘就顶不住了,就算加 ssd,量大了恐怕也不行
echo1937
2018-12-08 15:31:40 +08:00
会,尤其是海量小文件的读取

所以才会有 CDN 啊。
yukiww233
2018-12-08 15:31:49 +08:00
@msg7086 #1 液态是什么鬼哦
Lax
2018-12-08 15:37:23 +08:00
fs 一般是利用到 page cache 了,只要命中率高磁盘的压力不大。
你所说的大量请求还要看具体有多大。压测场景很容易把磁盘利用率跑满,实际业务中不是那么容易的。
除非你的业务特殊到文件的数量和随机性都特别高,其他情况下都不会遇到什么性能问题。
chickplilita
2018-12-08 16:05:38 +08:00
@yukiww233 哈哈 我也想到的是液态金属机器人
msg7086
2018-12-09 07:37:13 +08:00
@cc959798 SSD 性能足够好了。至少在你用上十万兆网卡之前,SSD 阵列的性能已经绰绰有余了。
cc959798
2018-12-09 10:41:24 +08:00
@Lax 就算是有 cache,如果文件数量太多也会有问题吧,而且没有热数据的情况下,大量小文件随机 io 估计磁盘就跑满了
Lax
2018-12-09 14:15:28 +08:00
@cc959798 先说说你的文件数量吧
cc959798
2018-12-09 23:04:27 +08:00
@Lax 如果类似于图片服务器上万张图片的话,当然如果只有几十张图片确实会把热数据 cache
Lax
2018-12-10 12:11:37 +08:00
@cc959798 “上万张”图片并不是很大的量啊,你可以算算容量是多少。
如果是 5k 以内的小文件,放内存绰绰有余。如果文件较大比如 100k,也不过才几 G 内存。更大的文件就变成顺序读问题了。
cc959798
2018-12-10 14:30:58 +08:00
@Lax 肯定不止 5k,当然这得看业务场景,不过我指的缓存是 page cache,一般的 page cache 也没有几个 g 吧,如果是 ssd 的话肯定会好很多,放个几十 g 也不会太慢,到时候带宽肯定成为瓶颈了
icegreen
2018-12-14 17:52:54 +08:00
还是看具体的业务场景;

在访问量足够大的情况下,一定会出现瓶颈的, 然后就针对性的优化吧;

几年前维护过一个股票行情系统,纯粹的内存读写都成了瓶颈,甚至自己实现了一套内存存储工具;

但是对于访问量没有那么大的系统, 考虑的太多就成了过度设计. 所以还是放到实际的业务规模下考虑比较实际一些.
wysnylc
2018-12-19 10:39:07 +08:00
( )
什么水平大家心里有数
cc959798
2018-12-19 10:56:46 +08:00
@wysnylc 那请问你什么水平,非得提个大家都看不懂的问题就水平高了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/515606

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX