![自制大数据集群访问2个用户级别?](https://linux22.com/image/509856/%E8%87%AA%E5%88%B6%E5%A4%A7%E6%95%B0%E6%8D%AE%E9%9B%86%E7%BE%A4%E8%AE%BF%E9%97%AE2%E4%B8%AA%E7%94%A8%E6%88%B7%E7%BA%A7%E5%88%AB%EF%BC%9F.png)
标题可能没有什么意义,所以这里有一个例子。
我有一个文件托管网站,提供大量半随机访问的文件服务。
设置如下:
- 高性能前端 +DB 服务器,还可对需要编码的文件进行编码
- 新鲜文件服务器,用于存储新上传的内容,可能(通常)可以快速访问,具有 500GB 的突袭 SSD 存储,可以推送超过 3GBit 的流量。
- 3 个廉价节点服务器,包含 raid1 中的 2 x 750GB SATA 驱动器,其中存档了来自 SSD 服务器(如上所述)的超过 2 周的文件。
每个服务器上的文件都可以通过子域(通过 modsec)以直接的方式访问(server1.domain.com、server2.domain.com 等)
我的问题在于此。我引入了一项“高级”服务,人们每月只需支付少量费用,即可快速访问网站上的内容,且无需支付广告费。登录后,他们可以通过 premium.server1.domain.com 使用不同的 modsec 脚本和不同的密码短语访问相同的文件。一切都运行良好……但廉价节点服务器都受 IO 限制,因此通过不同的、不饱和的网络访问它们上的文件没有任何区别,因为它无法足够快地读取驱动器。
有什么好的方法可以使网站上的文件通过两条不同的网络路由访问,其中一条路由饱和(“免费网络”),而所有其他文件都在未饱和的“高级”网络上?
答案1
等等,你的问题与你在解释过程中已经回答过的问题有关。就像你说的,你的问题不是网络适配器饱和,而是受到 SATA 驱动器上的 IO 限制。还是我理解错了?
假设这是正确的,您可能能够根据旧文件的访问模式做出一些改进。如果您倾向于一次对单个文件进行“运行”(即在博客上发布该文件的链接,然后突然有 500 个唯一 IP 请求同一个文件),那么您应该将该文件移入内存或页面文件缓存中,或者在提供服务之前将其暂存到 SSD 服务器。
最近有人问了一个类似的问题,并且我探索了其他可能的解决方案: Windows Server 2003 - 处理数百个同时下载