如何重写/重新编码网站以进行扩展?

Imr*_*ran 4 php scalability cakephp ruby-on-rails scale

你如何重写一个可扩展的网站?(流量)我主要使用PHP和一些Ruby on rails,我知道它是一个通用的问题.我只是想增加我的知识,所以任何建议都会有用.

先感谢您 ;-)

Pas*_*TIN 14

这是一个相当广泛的问题,并且很难给出一个明确的答案 - 但有几个想法:

  • 首先,不要预先优化!
    • 确保您的应用程序有效; 这是最重要的事情.
    • 并且,只有在必要时才开始优化.
  • PHP本身通常可以很好地扩展:
    • 添加几个Apache + PHP服务器,对用户进行负载平衡
    • 这往往很容易
  • 文件系统无法很好地扩展/轻松扩展:
    • 它不是在服务器上共享的
    • 共享文件系统(例如,使用NFS)有时会导致问题.
  • 在扩展时,数据库通常是最难的部分:
    • 拥有多个"写"服务器很难
    • 拥有多个"读取"服务器(通常使用复制)可能会成为维护的痛苦
    • 如果复制不够,你将不得不考虑在某一天或每天进行分片.
  • 使用大量缓存:您可以使用的缓存越多,您对数据库的查询越少,它就越好
    • memcached很棒,并且可以很好地扩展:只需添加几个服务器,你的缓存集群中就会有更多的GB或内存
  • 使用反向代理,因此Apache + PHP服务器的工作量较少,也有帮助.


还有一些链接可能会给你一些想法:

  • +1 - 所有这些主题值得他们自己讨论,但这是一个起点. (2认同)