先来说下他们分开的优点:
数据服务器与应用服务器分开,采用的一般是SQL服务,这种情况下增加了数据的安全性,位于同一局域网的数据库不用联网,只服务于应用程序服务器。而应用程序服务器只负责访问,数据服务器只负责应用程序的数据,所以这种好处还是显见的。
两台服务器之间的连接显示是通过路由器内层的交换机。如果有两台数据服务器时,其中一台是备份时才可能用到双网卡使用“心跳线",如果没有备份,这些根本不需要考虑,只管用正常的网线连接上交换机就可以了
下面咱们就讨论下基本的配置问题?
小型网站或B/S项目,因同时在线人数不多,尚可然同一台物理机,既作为web server,又做DB server。但此二者皆会占用大量的Cpu 内存,磁盘I/O,最好让二者分别用不同的服务器主机来提供服务,以分散压力,提高负载承受能力。此外,二者若用同一网端,尽量用内网 Private IP访问,而不用public IP或这几名称。
基本上Web服务上的应用,不管用什么软,硬件,同时处理多个用户的Request,通常比较消耗Cpu;但对于数据库而言,cpu就是不见得会大量消耗,而是内存和磁盘I/O用的比web server多。因此一般建议webserver用普通的pc即可,但要用好一点的CPU。而DB server 就不用草率,应尽量买高级的服务器,并要用RAID 5或6的磁盘阵列,并有4G以上内存。
如果在线人数持续增加,则可增加多台 Web Server 和 DBServer,用「服务器集群 (cluster)」、「负载均衡 (Load balancing) 集群」、「高可用性集群 High-availability(HA)」、数据库集群,以实现更大规模的分布式布署。
接下来咱们就对上面的说法进行一个小的验证
下图是一个考试系统的服务器也是分开的一个 web serve 和一个DB server。
同一时刻首先进行抽提,这时web服的Cpu使用率高居不下,然而内存是1G的使用率却只用900多M(硬盘虚拟出1G,总共2G),下图中可以看出
DB的使用率图如下
这一时刻,cpu的使用率几乎是很平常的,维持在10%,而内存使用却是web服务的两倍,所以DB服务,消耗是在内存的使用率上。
另有一种情况,见下图
这个服务是DB集Web一体的服务器
这也是正在进行的一门考试。
发现cpu使用率只有一个核高居不下,其他的都几乎不参与其中,这就造成了资源的浪费了。如何避免呢
这就提出了多线程的程序编写了。
后续,多线程程序的认识.