在高负载站点中使用 PHP 的策略数据库缓存
在你回答这个问题之前,我从未开发过任何足够流行的东西来获得高服务器负载。把我当成一个刚刚登陆地球的外星人,尽管他知道PHP和一些优化技术。
我正在PHP中开发一个工具,如果工作正常,它可以吸引相当多的用户。然而,虽然我完全有能力开发程序,但在制作可以处理巨大流量的东西时,我几乎无能为力。所以这里有一些问题(也可以随意把这个问题变成一个资源线程)。
数据库
目前,我计划在 PHP5 中使用 MySQLi 功能。但是,我应该如何设置与用户和内容相关的数据库?我是否真的需要多个数据库?目前,所有内容都混杂在一个数据库中 - 尽管我一直在考虑将用户数据传播给一个数据库,将实际内容传播到另一个数据库,最后将核心网站内容(模板母版等)传播到另一个数据库。我的理由是,将查询发送到不同的数据库将减轻它们的负载,因为一个数据库= 3个加载源。另外,如果它们都在同一台服务器上,这仍然有效吗?
缓存
我有一个模板系统,用于构建页面并交换变量。主模板存储在数据库中,每次调用模板时,都会调用其缓存副本(html 文档)。目前,我在这些模板中有两种类型的变量 - 静态变量和动态变量。静态var通常是页面名称,网站名称之类的东西 - 不经常更改的内容;动态变量是在每个页面加载时都会更改的内容。
我对此提出问题:
假设我对不同的文章有评论。哪个是更好的解决方案:存储简单的注释模板并在每次加载页面时呈现注释(来自数据库调用),或者将注释页面的缓存副本存储为html页面 - 每次添加/编辑/删除注释时,页面都会重新缓存。
最后
有没有人有任何提示/指针在PHP上运行高负载站点。我很确定这是一种可行的语言 - Facebook和Yahoo!给了它很大的优先权 - 但是有什么我应该注意的经验吗?