缩放LAMP

问题描述 投票:3回答:6

我有一个LAMP网站的客户主要服务于视频。他目前在一台服务器上拥有所有组件。他有一些扩展问题。有哪些技术可以用来提供帮助。

我使用它将数据库分离到另一台服务器,它与网络服务器之间有GB以太网。也许添加更多带有一些负载平衡的Web服务器和带复制的其他MySQL服务器?

如果可能的话,想要一些关于如何扩展的中,大,超大的例子。

该视频实际上是以jpg图像形式出现的。与本网站类似:

http://www.webcams.travel/webcam/1170170095

并添加一些细节。我认为每小时的最大访客量为1000,我认为很幸运。也许每天接近1000。

php mysql lamp
6个回答
8
投票

关于CloudFront和MemCache等的建议都很好,假设那些解决了性能问题的根源。

在数据库端:配置文件,配置文件,配置文件。将数据库移动到单独的服务器(可能)是一个很好的步骤,但如果您尚未分析在此数据库实例上运行的查询,则您不知道需要改进哪些内容。

首先在最常见的查询上执行EXPLAIN,然后检查是否在大型或增长的表上执行不必要的顺序扫描。必要时索引。

是否有任何查询传回未使用的列?

正如其他评论者所担心的那样,您是否正在从数据库中提供图形/视频内容?文件应保存在文件系统中,并从那里提供。

您的所有桌子都是MyISAM吗?经常更新的表可以通过将它们移动到InnoDB来显示性能改进,在那里他们可以从行级锁定中受益(与MyISAM的表级锁定相反)。

这些只是简单的一般性建议 - 没有更详细的说明什么是缓慢的,很难提供更深层次的东西。


5
投票

首先,我同意你在尝试扩展之前必须知道瓶颈是什么。这里有一些工厂建议让你开始:

  1. 从数据库中获取视频。我不知道在任何情况下这是否有意义。
  2. 添加一个服务器以仅为视频内容提供服务,并将HTML /应用程序保留为原始服务器。这不仅减少了负载,而且通过克服任何HTTP connection limits在客户端创造了性能改进。
  3. 缓存 - 这可能意味着Memcahce或只是预先构建HTML输出,而不是为每个请求动态处理它。
  4. 如果你有幸达到“超级大”,你可能会想到一个CDN。我相信在此之前你会遇到很多其他的障碍。

祝你好运。


4
投票

你需要确切地解决问题所在 - 没有通用的解决方案。

您需要使用真实硬件构建性能测试环境,并且可以模拟许多客户端。这可能非常昂贵。

如果问题是数据库(它可能是),那么解决方案通常是将其拆分为几个数据库,每个数据库都包含部分数据。

但我不认为任何理智的人都会在MySQL上存储视频 - 如果他这样做,那么重构可能是有序的。


0
投票

配置文件,看看他的网站的各个部分实际上造成了多少负载。

我认为大部分负载实际上是为视频服务 - 使用代理将此工作重定向到第二(第三,第四......)服务器。


0
投票

Barrett的答案几乎就是我要做的事情 - 了解瓶颈,查看memcached,将数据库移到与Web服务不同的服务器等。

我想补充一点,亚马逊有一项名为CloudFront的新服务,该服务将提供来自地理位置相近的服务器的内容。我还没试过,但这可能是一种以相对较低的成本分摊负载的方法。

另外,看看Livejournal和Facebook关于他们如何扩展系统的演示文稿,他们可能会根据您的应用程序结构提供一些见解。


0
投票

您应该首先分析应用程序并找出瓶颈所在 - 如果它是PHP,使用类似xdebug的东西将是一个良好的开端。您可能需要花费很长时间来序列化数据或与数据库交谈 - 因此,使用Memcached进行缓存可能会有所帮助。

其次,如果您使用的是MySQL,请打开MySQL慢查询日志(my.cnf中的log_slow_queries);这可以用来让你了解昂贵的数据库查询是什么,一旦你知道你可以通过EXPLAIN <>进行调整,就像已经提到的那样。可能的情况是,您只需要向数据库添加一些索引,此时它将再次变得快速。还有其他相关的my.cnf参数,例如不使用索引的日志查询。

第三,看看像Yahoo的页面速度firefox插件这样的工具 - 它会提出一些建议(例如卸载静态内容,压缩你要返回的东西,确保你有过期的标题等)。也许服务器本身不是瓶颈,由于依赖于第三方(外部JS,广告,闪存......),页面需要很长时间才能呈现。

与Web服务器相比,您需要了解数据库服务器的繁忙程度,以了解需要添加其他硬件的位置(即,您是否需要具有前端负载平衡器的多个Web服务器,或者您是否需要多个数据库服务器复制或两者兼而有?)。

我确信有更多的东西可以说......

© www.soinside.com 2019 - 2024. All rights reserved.