我的朋友运行一个stream行的Youtube到GIF转换网站。 目前,他已经将25万Youtubevideo转换为GIF(每个video获得6个缩略图,总共150万个GIF文件),并且每月可以提供约80TB的带宽。
他的服务器是IO阻塞 – 我不是一个大师pipe理员,但它似乎是非顺序GIF的硬盘寻找时间堵塞了一切。 他有一个100tb.com的服务器,价格为300美元/月,还有100TB的免费带宽。 起初,我build议他得到一个CDN来解决他的问题,因为这样GIF服务没有消耗他的服务器资源,他的主箱可以处理编码 – 我们发现一个CDN $ 600 /月,太慢了/不可靠,剩下的80TB带宽至less要2000美元/月。 我们正在努力保持整个项目在900美元/月以下。
所以我们可以find的最便宜的带宽是100TB,但是我们超过了一台服务器。 我们可以添加另一台服务器,但是我不知道如何对GIF存储进行分区,以使负载均匀分布在两个盒子之间。 我们的主机推荐使用像Aflexi.net这样的软件,但我确定必须有一个更便宜的解决scheme。
谁能帮忙? 我是一个交易程序员,而不是一个系统pipe理员,但试图学习绳索。 谢谢!
S3是不可替代的,80 TByte的账单每个月将超过8k $。
它看起来像你的文件系统的GIF服务。 你为什么不把所有的GIF放在2台机器上,用一个哈希algorithm把这个名字映射到2台机器中的一台上,然后用这种方式传递它们? 只要你的负载均衡支持,这将很容易扩展到更多的机器…
将文件转储到S3并从那里提供。 穷人的CDN 🙂
如果您需要更多的处理能力,您可以从EC2实例转换出来,并直接转储到您的“CDN”。
我不能评论其他意见,但他们听起来不错。 我想通过保留最常访问的(即最受欢迎的)文件在内存caching中来解除文件服务器的一些负载,也就是说有一个http处理程序可以执行如下操作:
如果你能得到一台装有内存的机器,那么你就笑了,因为很有可能你的内存中大部分stream行的文件都可以适用。
而当你饱和的时候,添加另一个image processing服务器,并循环它们。 继续这样做,直到出现问题,例如吞吐量,可扩展性,经济性。
我之前做过这样的事情,效果很好。
如果只有2台机器,则可以考虑使用DRBD在两台机器之间进行同步。 然后,只需使用PHP来随机或algorithm决定在请求期间从哪个服务器拉取。 简单但可行的解决scheme。