《
网站、数据库的衍变之路(一)_成都网站制造公司》文章地址:http://www.tfxk.com/wangyesheji/jianzhanjingyan/11063Z2012.htm
一、通过内存交流数据
进程内也有这种数据交换方式,更多见的是在进程间交换数据时使用。在实现进程间通信时,内存文件映射、管道技术相对来说比读写硬盘上的文件略微难懂得一点,所以对速率请求不高的系统也有采用这种方式的。图2.1表示这种情况。现在的硬盘一般分为三种,IDE、SCSI跟SATA(串口)。IDE硬盘的读写速度一般在10~100M/s之间,SCSI的最高速度320M/s左右,SATA有几个版本,1.0规范是150M/s,3.0标准是600M/s。可见硬盘的读写速度要比内存低好多,而且频繁读写硬盘另外一个坏处是硬盘相对内存来说容易坏。
你写一个程序,无论是winform还是webform或者是windows service的,总会有两个对象需要交换数据吧?而数据交换大体上有这么多少种方式:
图3.1反应了通过网卡交换数据的情形。当初的网卡个别都是百兆千兆的,百兆网卡的实际传输速度大约是12m/s,千兆网卡的传输速度大概是100m/s。
-->
上面说了进程内部的通信是通过内存来进行的(这里疏忽非主流的开发出来的程序),而进程间通信也存在用内存交换数据的情况。比方,内存文件映射。再好比,匿名管道。(这里不胪陈这些技巧。)
图2.1
图1.1
图3.1
图1.1是两个类之间的数据交换,取款记载是“引用类型”,那么在&ldquo成都网站制作公司;个人”使用的时候就是使用的原对象;而“余额&rdquo成都网站制作;是值类型,会被拷贝过来使用。但是无论是值类型仍是援用类型,这种在一个过程里的通讯,都是通过内存进行数据交换的,这种也是速度最快的方法。像我家里的机器,内存的读写速度是6G/s左右。
最简单的一个网站,可能说是demo更加适合一些,安排上一台盘算机上也可以畸形运行。通常情况,这种部署方式是效率最高的。但是为什么说需要把Web服务器与数据库分开放置呢?这就牵扯到通信效率的问题。
二、通过硬盘交换数据
言归正传,为什么要把web服务器与数据库离开放置呢?在单机上放置不是能到达最高效力么?一旦分开放置,即便使用千兆网卡,那么数据传输速度也是大打折扣啊!这就要讲一个范围问题,网站规模小,这样寄存当然不任何问题(这里单从性能上剖析,不考虑其它因素)。然而一旦规模比拟大的时候就轻易呈现问题,这是体系瓶颈上的一个考虑。拜访量大的时候很可能产生数据库跟web服务器抢cpu,而更蹩脚的是,当尝试应用缓存来解决数据库占用大批CPU时,发明内存也被数据库占完了。当web与数据库分别的时候,网站就成长的更像一个网站了。这个时代的网站须要花良多心理斟酌机能问题,工作也更加有挑衅性了。
能够当咱们沾沾自喜的时候,麻烦的问题又来了,现在两台服务器,一台web一台数据库,性能又出现问题了。这个时期涌现的问题绝对来说还是比较简略的,由于就两个局部,不是数据库瓶颈就是web服务器瓶颈。当然,是数据库瓶颈的可能性更高一些。为什么这么说呢?正常来说,一个公司开发的网站是这种规模的时候,聘请的程序员都是刚入门未几的。而这个时期的程序员更加关怀功效如何实现,对性能优化还没有许多教训。要是再去细心研讨数据库如何优化,如何让查问更有效率,学习改革本钱还是相称高的。这个时候普通会采取避重就轻的措施——静态化。
1、通过内存;
2、通过硬盘;
3、通过网卡。
三、通过网卡交换数据
(责任编辑:网站建设)
网站、数据库的衍变之路(一)_成都网站制造公司相关文章