我正在制作一个数据挖掘器,它需要每 30 秒写入大约 50 个不同的文件。每个文件大约 50kb。这个过程将一年 365 天、每天 24 小时运行。数据挖掘器基于 Node.js 构建,并且还有一个在同一个 VPS(Debian)上运行的网站(LAMP)。
据我所知,一直不断地写入磁盘并不是很好。
我这样做会不会大大缩短磁盘的使用寿命?整个系统响应速度会不会很慢?还是说每 30 秒处理 50 个文件(每个 50kb)根本就没什么好担心的?
答案1
视情况而定,但服务器磁盘应该全天候运行,并且通常采用 RAID 结构,因此当驱动器发生故障时,它们会被替换。如果它位于带有主机的 VM(我假设 VPS 是某个虚拟主机)上,通常您无需担心驱动器,因为您要付费让它们来维护硬件。
至于驱动器的响应/性能缓慢,则取决于底层硬件和配置。如果它是某个地方的托管虚拟机,除非您是机器上唯一的客户机,否则您将无法始终获得一致的性能。否则,您不知道您的邻居是否正在做一些会消耗资源并偶尔使其陷入困境的事情。您只有实际执行后才会知道。
实际上,只要您的系统有足够的内存来缓存操作,那就没问题了,因为磁盘操作只会在子系统可以获取它们时排队并执行。
如果您是一名开发人员,并遇到了这方面的问题,您可以根据具体操作(创建新文件?附加?搜索?)根据需要重新构建解决方案。您正在查询数据吗?也许您应该考虑将其放入可以根据需要扩展的数据库中。
我认为,只要你的内存没问题,30 秒内传输 50 个小文件不会有问题,但只有在实际使用中推动你的提供商时你才会知道。