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