首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我会遇到这个应用程序栈的加载问题吗?

我会遇到这个应用程序栈的加载问题吗?
EN

Stack Overflow用户
提问于 2011-02-20 17:12:48
回答 1查看 220关注 0票数 1

我正在设计一个文件下载网络。

最终目标是拥有一个API,允许您直接将文件上传到存储服务器(没有网关或其他东西)。然后将该文件存储并引用到数据库中。

当请求文件时,从数据库中选择当前保存该文件的服务器,并执行http重定向(或者API提供当前有效的直接URL)。

后台作业负责文件的所需复制,以达到持久性/缩放的目的。

后台作业还会移动文件,以确保服务器上有关磁盘和带宽使用的工作负载。

在任何时候都没有突袭什么的。每个驱动器都以JBOD的身份挂在服务器上。所有复制都处于应用程序级别。如果一台服务器发生故障,它就会被标记为数据库中的故障,后台作业负责从健康源进行复制,直到再次达到所需的冗余。

该系统还需要准确的统计,以监测/平衡和maby以后的帐单。

所以我考虑了下面的设置。

  • 该环境是一个经典的Ubuntu,Apache2,PHP,MySql灯栈。
  • 访问当前存储服务器的url是由API生成的(这远没有问题。只是一个经典的PHP网站和MySQL数据库)

现在变得有趣了..。

  • 存储服务器运行Apache2,一个PHP脚本捕获请求。URL参数(安全令牌哈希)被验证。对IP、时间戳和文件名进行验证,以便对请求进行授权。(不需要数据库连接,只需要知道一个秘密令牌的PHP脚本)。
  • PHP脚本将文件hader设置为使用apache2 xsendfile
  • Apache传递由mod_xsendfile传递的文件,并将访问日志配置为将访问日志管道传输到另一个PHP脚本
  • Apache运行mod_logio,访问日志在组合I/O日志格式中,但还使用%D变量(处理请求所需的时间,以微秒为单位)。计算网络传输速度、现场瓶颈等。
  • 管道访问日志然后转到一个解析url的PHP脚本(第一个文件夹是“反向”的,就像谷歌存储或分配给一个客户端的亚马逊s3一样。因此,客户端是已知的)计数输入/输出流量和增加数据库字段。出于性能方面的原因,我考虑使用每日字段,并将其更新,如For = traffic+X,如果没有更新行,则创建该字段。

我必须指出的是,服务器将是低成本的服务器,具有巨大的能力。

可以仔细查看此服务器上的线程中的预期设置。

关键数据是,系统将具有千兆比特率(最高24/7),而fiel请求将相当大(因此不会有图像或负载的小文件产生大量的日志线和请求)。马比平均500 or或什么的!

目前计划的设置运行在一个廉价的消费主板(华硕),2GB的DDR3内存和一个Athlon X2 220,2x2.80GHz托盘cpu。

当然,下载管理器和范围请求将是一个问题,但我认为访问的平均大小至少在50 megs左右。

所以我的问题是:

  • 在这个流程中我有什么严重的瓶颈吗?你能发现任何问题吗?
  • 假设mysql_affected_rows()可以直接从最后一个请求中读取,而不对mysql服务器执行另一个请求,这是正确的吗?
  • 你认为有上述规格的系统能处理这件事吗?如果没有,我又如何改善呢?我认为第一个瓶颈是CPU,不是吗?
  • 你觉得那个怎么样?你有什么改进的建议吗?完全不同的东西?我考虑过使用Lighttpd和mod_secdownload模块。不幸的是,它不能检查IP附加,我没有那么灵活。它的优点是下载验证不需要php进程即可启动。但是,由于它只运行短,不读取和输出数据本身,我认为这是可以的。你是?有一次,我在旧的一次性个人电脑上使用lighttpd下载,性能非常棒。我也考虑过使用nginx,但我对此没有经验。但
  • 您认为直接更新数据库的脚本的管道日志记录是什么?我应该把请求写到作业队列中,并在第二个可以处理延迟的进程中更新它们吗?还是根本不去做,只在晚上解析日志文件?我的想法是,我希望它尽可能实时,没有积累数据的其他东西,除了在中央数据库。我也不想跟踪所有服务器上运行的作业。这可能是个烂摊子。应该有一个简单的单元测试,它生成一个安全的链接,对其进行降级,并检查是否一切正常,日志记录是否已经发生。
  • 还有进一步的建议吗?我很高兴您的任何投入!
  • 我也打算把这一切都搞清楚。我只是认为,需要有一种开放源码的替代方案,以替代以文件下载为导向的亚马逊s3等昂贵的存储服务。
  • 我确实搜索了很多,但没有发现像这样的东西。当然,我将重新使用现有的解决方案。更倾向于开源。你知道这样的事吗?
EN

回答 1

Stack Overflow用户

发布于 2011-02-21 04:27:58

MogileFS,http://code.google.com/p/mogilefs/ --这几乎完全是你想要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5058577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档