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