【问题标题】:Managing a rapidly growing web site管理快速增长的网站
【发布时间】:2010-07-03 22:50:43
【问题描述】:

我正在开发一个项目,该项目最近越来越受欢迎。

这种发展当然是张开双臂,也有些意料之中。因此,我已采取一切预防措施来创建高效和安全的代码。但是,当谈到服务器容量时,我没有足够的财务手段来产生足够的开销。

我怀疑我的网站迟早会开始表现出性能不足,我需要帮助来选择走哪条路,以及优先考虑什么。

我有几个问题,如果您提供丰富的经验,我将不胜感激。

该站点目前基于 PHP + MYSQL + jQuery。我在编码时尽量牢记,以确保数据流量和服务器调用/数据库查询保持严格和智能。

首先是个大问题:

您如何在财务资源不断受限的情况下提升网站性能?

我希望该网站能够在短期内带来收入,使我能够投入越来越多的资金来开发服务器园区,或许可以将其本地化到不同的地区和/或国家,以便更快地访问和更好地路由。

周围是否有人擅长将用户重新路由到不同的服务器,也许循环式将他们放在不同的服务器上以减少负载?

是否值得放弃 PHP + MySQL 并朝着能够更好地处理负载的方向发展?

是否值得聘请专门从事网络服务器安全的全职人员来处理和更新服务器园区,可能包括备份等?

是否值得雇人检查代码并提高效率?

这些只是我脑海中的几个问题。任何有关如何无缝迁移到更大的 Web 服务器解决方案的提示都值得赞赏。大家都掉过什么坑吗?请大家讨论,赐教。

【问题讨论】:

  • 可能是 serverfault.com 的一个很好的候选者,虽然我不是 100% 确定 ...
  • 好问题。我不认为放弃 PHP + MySQL 是你的答案,看看这篇关于 Facebook 做什么的帖子:royal.pingdom.com/2010/06/18/the-software-behind-facebook
  • 告诉我你正在使用 PHP 的 APC,它是一个可以显着减少负载的缓存。
  • Rook,我愿意,但可能不是最佳方式。我正在调查它。

标签: php security load web-hosting


【解决方案1】:

您如何在财务资源不断受限的情况下提升网站性能? 您利用免费主机,与其他网站进行交易,并确保您的代码得到优化,直到您的网站能够产生自给自足的收入。如果你的想法好,你可以从银行获得贷款。

周围是否有专业人士将用户重新路由到不同的服务器,也许循环式将他们放在不同的服务器上以减少负载?是的。但是您应该研究一下 CDN(内容交付网络)。

是否值得放弃 PHP + MySQL 并朝着能够更好地处理负载的方向发展?这取决于您使用 PHP/MySQL 来做什么。他们很可能能够处理负载。不过,您可能需要多个数据库,因为这可能是您最大的瓶颈。如果不知道自己在做什么,就无法确定是否有更有效/更适合您的项目的东西。

是否值得聘请专门从事网络服务器安全的人员来处理和更新服务器园区,可能包括备份等? 是的。 Web 服务器安全性不如具有网络安全性的人或具有备份和恢复数据经验的人重要。该人的服务的可用性也很重要。

【讨论】:

  • 谢谢,特别是恢复部分:)
【解决方案2】:

您如何在财务资源不断受限的情况下提升网站性能?

如果您的服务器最大负载只是一些峰值,您应该考虑在需要更多资源时动态添加实例的云计算,如果服务器负载下降则自动删除实例。

周围有没有专业知识的人将用户重新路由到不同的服务器,也许 轮询式将它们放在不同的服务器上以减少负载?

是的,我相信是这样,但您不需要找到一个,因为对于您的应用程序代码,您可以使用负载均衡器/代理,例如 HAProxy,如果您有一些设置服务器的经验,您应该能够设置 HAProxy。

您也可以尝试查找可以缓存的内容,您应该查看APC 和/或Memcached

对于您的静态内容,您应该使用C内容D分发N网络(CDN)。

是否值得放弃 PHP + MySQL 并朝着能够更好地处理负载的方向发展?

这取决于您的应用程序的开发程度,以及您已经在项目中投入了多少代码和精力。而且您应该始终使用您熟悉的系统。你也可以试试HipHop for PHP: Move Fast,一个由 Facebook 开发的 php 编译器,让 PHP 代码更快。

是否值得聘请专门从事网络服务器安全的全职人员来处理和更新服务器园区,可能包括备份等?

如果您能负担得起全职从事此类工作的人,那么第一个问题应该无关紧要。如果你负担得起的话,你也应该雇人来做这种工作,因为一个越来越受普通用户欢迎的网站,也越来越受到黑客的欢迎。

但最重要的是安全可靠的备份工作流程。因此,如果您被黑客入侵,您可以快速干净地重新部署您的系统。

是否值得雇人检查代码并提高效率?

与前一个问题的答案相同。如果你能负担得起一名程序员,并且你认为代码可以提高效率,你应该雇人。

【讨论】:

  • 谢谢你们,你们都帮我指出了正确的方向:)
【解决方案3】:

我最近将我的 Ruby on Rails 应用程序放在 Heroku 上。

随着流量的增加,您可以通过滑块调整服务器容量。

也必须有可用于 php 网站的云托管。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-26
    • 2021-06-24
    • 2016-08-23
    • 1970-01-01
    • 2012-12-11
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多