网站、数据库的衍变之路
来源:cnblogs 发布时间:2009-09-26 20:03:00
(一)
最简单的一个网站,可能说是demo更加合适一些,部署上一台计算机上也可以正常运转。通常情况,这种部署方式是效率最高的。但是为什么说需要把web服务器与数据库分开放置呢?这就牵扯到通信效率的问题。
你写一个程序,无论是winform还是webform或者是windows service的,总会有两个对象需要交换数据吧?而数据交换大体上有这么几种方式:
1、通过内存;
2、通过硬盘;
3、通过网卡。
一、通过内存交换数据
图1.1
图1.1是两个类之间的数据交换,取款记录是“引用类型”,那么在“个人”使用的时候就是使用的原对象;而“余额”是值类型,会被拷贝过来使用。但是无论是值类型还是引用类型,这种在一个进程里的通信,都是通过内存进行数据交换的,这种也是速度最快的方式。像我家里的机器,内存的读写速度是6G/s左右。
上面说了进程内部的通信是通过内存来进行的(这里忽略非主流的开发出来的程序),而进程间通信也存在用内存交换数据的情况。比如,内存文件映射。再比如,匿名管道。(这里不详述这些技术。)
二、通过硬盘交换数据
图2.1
进程内也有这种数据交换方式,更多见的是在进程间交换数据时使用。在实现进程间通信时,内存文件映射、管道技术相对来说比读写硬盘上的文件稍微难理解一点,所以对速率要求不高的系统也有采用这种方式的。图2.1表现这种情况。现在的硬盘一般分为三种,IDE、SCSI和SATA(串口)。IDE硬盘的读写速度一般在10~100M/s之间,SCSI的最高速度320M/s左右,SATA有几个版本,1.0规范是150M/s,3.0规范是600M/s。可见硬盘的读写速度要比内存低好多,而且频繁读写硬盘另外一个坏处是硬盘相对内存来说容易坏。
三、通过网卡交换数据
图3.1
图3.1反映了通过网卡交换数据的情况。现在的网卡一般都是百兆千兆的,百兆网卡的实际传输速度大约是12m/s,千兆网卡的传输速度大约是100m/s。
言归正传,为什么要把web服务器与数据库分开放置呢?在单机上放置不是能达到最高效率么?一旦分开放置,即使使用千兆网卡,那么数据传输速度也是大打折扣啊!这就要讲一个规模问题,网站规模小,这样存放当然没有任何问题(这里单从性能上分析,不考虑其它因素)。但是一旦规模比较大的时候就容易出现问题,这是系统瓶颈上的一个考虑。访问量大的时候很可能发生数据库跟web服务器抢cpu,而更糟糕的是,当尝试使用缓存来解决数据库占用大量CPU时,发现内存也被数据库占完了。当web与数据库分离的时候,网站就成长的更像一个网站了。这个时期的网站需要花很多心思考虑性能问题,工作也更加有挑战性了。
可以当我们沾沾自喜的时候,麻烦的问题又来了,现在两台服务器,一台web一台数据库,性能又出现问题了。这个时期出现的问题相对来说还是比较简单的,因为就两个部分,不是数据库瓶颈就是web服务器瓶颈。当然,是数据库瓶颈的可能性更高一些。为什么这么说呢?一般来说,一个公司开发的网站是这种规模的时候,聘用的程序员都是刚入门不久的。而这个时期的程序员更加关心功能如何实现,对性能优化还没有很多经验。要是再去仔细研究数据库如何优化,如何让查询更有效率,学习改造成本还是相当高的。这个时候一般会采用避重就轻的办法——静态化。


猜你喜欢
- 作为草根的我们,在辛辛苦苦连续奋战几天几夜或更长时间后,自己的网站终于诞生了。他就像自己孩子一样,用自己全部的爱呵护着,培养他长成苍天大树。
- 11月20日、21日纵贯线“钟爱一生”北京首体演唱会已经进入倒计时。作为世界巡演的收官站,北京演唱会票房频频告捷。笔者了解到,为了求得一张门
- 1、服务器处理器主频服务器处理器主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度。CPU的主频=外频×倍频系数。很多人认为主频就决定
- Linux 检测服务器是否连接着网络摘要: 每隔5分钟检测一次服务器是否连接着网络,如果三次检测都没有网络?则自动关机! 主要使用场景: 由
- 按照计划,我应该研究一下Dedecms如何SEO了.说到DedeCMS,相信很多站长都在使用,因为她的简单,易用(这里我不说她的开源,是因为
- Godaddy用户可以通过Account Manager上的Manage Email来升级或者降级你目前的电子邮件计划。 操作如下:第一、
- 泛搜索时代,我在考虑了很久后才决定用“泛搜索”这样一个词来表达我的想法,这个泛有广泛的意思。泛搜索即搜索已经无处不在,并不仅仅局限于传统的通
- 建立样本网络,需要对命名进行如下规范:服务器将建立在名为ASPDomain.com的假想域中。每台服务器拥有惟一的内部域名.AspHosti
- 问题:生成静态都设置好了,权限也给足了,可是仍然提示“当前没有生成任务在执行!”,这是什么原因呢?解决:检查下configCreateHtm
- Exchange Server 2007的管理员们可以使用命令行这种简单的方式来定制邮件配额警告以及报告传递电子邮件的尝试结果的通知的邮件。
- 近日研究Google Adsense,终于知道了一条赚钱规则,按这个规则,应该可以优化Adsense提高收入了吧。这条规则其实非常的简单就是
- 10月14日,中国软件资讯网据外电报道,当苹果的市值又再度超越Google时,这次它能够一直保持领先吗?《BusinessWeek》专栏作家
- Win2000操作系统的一个主要特色就是将IIS融入其内核之中,并提供一些用来配置和维护软件的向导工具,使构建一个Internet网站轻松易
- 11月26日消息,针对“央视连推两大视频网站”一事,国内视频网站激动网认为,主流媒体进入视频行业将对整个行业发展起到非常积极的作用。激动网号
- 一、系统配置1、关闭sudo密码为了避免每次使用sudo命令时都输入密码,我们可以将密码关闭。操作方法:1、终端输⼊命令 sudo visu
- 题目有点大,网站的价值和价格,用英文就是说,value和price之间的那些事情。最近时常在思考这个问题。一个网站,存在在那里,有几千几万个
- 随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统
- 目前Google Earth中加入了一个非常有用的在线服务功能。气象信息,在Google Earth的互动内容中,新增了一个天气频道的map
- 内裤说,第一次拿Google AdSense Dollar,要记一下,那我就记一下。终于拿到了传说中的Google AdSense
- 最近在研究本站:www.seocompany.sh.cn 网站优化的时候,发现本站内容不足,于是决定采取增加BLOG的策略。但,天下之大,B