如何避免IO、DB、WEB无法扩展?(兼顾经济与效率)

如何避免IO、DB、WEB无法扩展?(兼顾经济与效率)

幼稚的问题,主要是web和 database 整体架构上,可能许多初学者也会经常遇到:

背景:web页面主要提供文本内容,偶尔会插有静态图片;有论坛和博客等板块,不同板块内容需要在主页digg汇总标题;目前很小,预计初始峰值并发1000ip;

0、对DB在这个情景的功能有疑问,最基本的肯定是user 的各个对象了,不知道如果各板块内容汇总时,从方便管理的出发,需不需要把所有篇幅内容全文纳入到DB管理,还是仅仅把文章标题纳入DB,进行索引就行了。

1、现在仅有1台服务器,同时提供web server和web 数据库服务,在IO、DB、WEB三个方面,什么样的架构可以方便以后升级(比如增加服务器做集群),以防瓶颈?特别是最让人担心的数据库的结构,有无现成的模式可以直接用;  

2、web方面什么样的架构较有利于提高系统利用率,向用户提供高速的页面执行速度(打开页面速度快)  

3、初步计划使用 至强平台 + freebsd + apache  + mysql , 用版内现成的famp3.0,页面想直接用php的模板式内容。 根据前两项叙述,系统需要在哪些方面进行特殊处理修改?

以上均要考虑到经济性。3ks!

大致说一下方向即可。

背景:web页面主要提供文本内容,偶尔会插有静态图片;有论坛和博客等板块,不同板块内容需要在主页digg汇总标题;目前很小,预计初始峰值并发1000ip;

0、对DB在这个情景的功能有疑问,最基本的肯定是user 的各个对象了,不知道如果各板块内容汇总时,从方便管理的出发,需不需要把所有篇幅内容全文纳入到DB管理,还是仅仅把文章标题纳入DB,进行索引就行了。

方便管理的话,就用一个表。

1、现在仅有1台服务器,同时提供web server和web 数据库服务,在IO、DB、WEB三个方面,什么样的架构可以方便以后升级(比如增加服务器做集群),以防瓶颈?特别是最让人担心的数据库的结构,有无现成的模式可以直接用;  
2、web方面什么样的架构较有利于提高系统利用率,向用户提供高速的页面执行速度(打开页面速度快)  
3、初步计划使用 至强平台 + freebsd + apache  + mysql , 用版内现成的famp3.0,页面想直接用php的模板式内容。 根据前两项叙述,系统需要在哪些方面进行特殊处理修改?

尽量把动态内容和静态内容分开,静态内容可以用更高效率的处理程序,如用Squid、Lighttpd
尽量把动态的内容,存成静态的,或者用缓存,少去访问数据库;
多用内存,少用磁盘,如用Memcached,Tmpfs

WEB Server不用Apache,用Nginx、Lighttpd等
WEB 和 DB之间用一个Memcached做缓存
数据库的结构没啥好担心的,如果更新很频繁,磁盘的IO就会是问题,买多个盘做Raid或者LVS,或者把Mysql的库放到多个盘上
如果数据库的读太频繁,用Memcached,或者把Mysql做成主+从的模式
Nginx、Lighttpd
貌似现在架服务器的人都偏向这两个