网站、数据库的衍变之路(一)

news/2024/5/20 15:47:58/文章来源:https://blog.csdn.net/weixin_34259232/article/details/86407993

最简单的一个网站,可能说是demo更加合适一些,部署上一台计算机上也可以正常运转。通常情况,这种部署方式是效率最高的。但是为什么说需要把web服务器与数据库分开放置呢?这就牵扯到通信效率的问题。

你写一个程序,无论是winform还是webform或者是windows service的,总会有两个对象需要交换数据吧?而数据交换大体上有这么几种方式:

1、通过内存;
2、通过硬盘;
3、通过网卡。

一、通过内存交换数据

2009080302015760.jpg
图1.1

图1.1是两个类之间的数据交换,取款记录是“引用类型”,那么在“个人”使用的时候就是使用的原对象;而“余额”是值类型,会被拷贝过来使用。但是无论是值类型还是引用类型,这种在一个进程里的通信,都是通过内存进行数据交换的,这种也是速度最快的方式。像我家里的机器,内存的读写速度是6G/s左右。

上面说了进程内部的通信是通过内存来进行的(这里忽略非主流的开发出来的程序),而进程间通信也存在用内存交换数据的情况。比如,内存文件映射。再比如,匿名管道。(这里不详述这些技术。)

二、通过硬盘交换数据

2009080303052542.jpg
图2.1


进程内也有这种数据交换方式,更多见的是在进程间交换数据时使用。在实现进程间通信时,内存文件映射、管道技术相对来说比读写硬盘上的文件稍微难理解一点,所以对速率要求不高的系统也有采用这种方式的。图2.1表现这种情况。现在的硬盘一般分为三种,IDE、SCSI和SATA(串口)。IDE硬盘的读写速度一般在10~100M/s之间,SCSI的最高速度320M/s左右,SATA有几个版本,1.0规范是150M/s,3.0规范是600M/s。可见硬盘的读写速度要比内存低好多,而且频繁读写硬盘另外一个坏处是硬盘相对内存来说容易坏。

三、通过网卡交换数据


2009080303103383.jpg
图3.1

图3.1反映了通过网卡交换数据的情况。现在的网卡一般都是百兆千兆的,百兆网卡的实际传输速度大约是12m/s,千兆网卡的传输速度大约是100m/s。

言归正传,为什么要把web服务器与数据库分开放置呢?在单机上放置不是能达到最高效率么?一旦分开放置,即使使用千兆网卡,那么数据传输速度也是大打折扣啊!这就要讲一个规模问题,网站规模小,这样存放当然没有任何问题(这里单从性能上分析,不考虑其它因素)。但是一旦规模比较大的时候就容易出现问题,这是系统瓶颈上的一个考虑。访问量大的时候很可能发生数据库跟web服务器抢cpu,而更糟糕的是,当尝试使用缓存来解决数据库占用大量CPU时,发现内存也被数据库占完了。当web与数据库分离的时候,网站就成长的更像一个网站了。这个时期的网站需要花很多心思考虑性能问题,工作也更加有挑战性了。

可以当我们沾沾自喜的时候,麻烦的问题又来了,现在两台服务器,一台web一台数据库,性能又出现问题了。这个时期出现的问题相对来说还是比较简单的,因为就两个部分,不是数据库瓶颈就是web服务器瓶颈。当然,是数据库瓶颈的可能性更高一些。为什么这么说呢?一般来说,一个公司开发的网站是这种规模的时候,聘用的程序员都是刚入门不久的。而这个时期的程序员更加关心功能如何实现,对性能优化还没有很多经验。要是再去仔细研究数据库如何优化,如何让查询更有效率,学习改造成本还是相当高的。这个时候一般会采用避重就轻的办法——静态化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_806076.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CISCO的网站访问不了了

好像是DNS服务器出了问题,访问其他公司的都可以。转载于:https://blog.51cto.com/zly58/192947

【分享】让网站在IE8的兼容模式下运行

IE浏览器的兼容性一直是网站开发人员头疼的事情,众所周知,微软的Internet Explorer团队一直在致力于将IE8打造为最符合业内标准的浏览器,所不幸的是,当前并非所有的网站都符合这些标准。那如何让网站在IE8的兼容模式下运行呢。下面…

java支付宝h5转native_iOS 手机网站支付转Native支付(H5支付页面调起支付宝客户端(app))...

一:导入sdk流程如下: 1.下载sdk,把iOS包中的压缩文件中以下文件拷贝到项目文件夹下,并导入到项目工程中。AlipaySDK.bundleAlipaySDK.framework2.在Build Phases选项卡的Link Binary With Libraries中,增加以下依赖&am…

关于网站安全产生原因触发点漏洞表现解决方式的整理

2019独角兽企业重金招聘Python工程师标准>>> 参考了别人的一篇文章整理如下 没有办法,太大显示的不全.整是奇怪吖,有需要的原文件的自己找我要吧.我不会上传文件.没找到地方传: 类别 产生原因 触发点 漏洞表现 解决方式 输入和数据验证 如何知道应用程序接收…

android电商筛选框,像很多网站(比如电商)里的筛选功能一般是如何实现的?

我的思路如下:数据表:分类(编号,名称)筛选项(编号,名称,分类编号,显示顺序) 如"品牌"就是一个筛选项.筛选点(编号,名称,所属筛选项编号,显示顺序) 如"小米"就是一个筛选点.商品表(sku编号,分类编号)商品属性表(sku编号docid,筛选点编号集合content) 【全文…

html css仿app,总有一款适合你-移动端微网站-仿app时间滚动选择效果实现_html/css_WEB-ITnose...

上次给大家介绍了一款 移动端微网站的时间选择插件 ,你还记得么?今天给大家介绍一款新的插件:mobiscroll,为什么上次的可以用,这次还要介绍新的呢?主要因为它十分灵活,可控,总有一种组合适合你。…

NO.120 不懂语言代码,超级菜鸟的建站分享(三):第三方登录设置。

为什么80%的码农都做不了架构师?>>> 上两篇详细的介绍了我使用蝉知免费CMS搭建个人站:先知厨房站的建站流程和界面设置。 不懂语言代码,超级菜鸟的建站分享(二):界面设置 不懂语言代码&#xf…

网站php上传服务器,php文件怎么上传到服务器

PHP中的文件上传通常,文件上传使用的是HTTP的POST方式,首先需要定义HTML表单的enctype属性为"multipart/form-data"。上传页面://HTML文件:支持文件上传的HTML表单上传此文件:在PHP程序中,使用全…

大型网站系统架构的演进(一)(转)

前言 写这篇文章的目的是想用来帮助自己思考和理清头绪,以及如何从一个简单的网站架构演进发展成一个大型网站架构,主要侧重在技术方面 简单的网站 由于我没有做过php,那么就以jsp为例,jsp做网站前端,以电子商务网站为…

php做网站步骤_做网站开发必要的步骤

网站制作一年350元,五站合一,快速建站 ,www.sxjcwzjs.com,只需进入网站右上角注册快速建站即可(需要电脑登录注册),需要联系我吧!电话:13752214574,微信号:m1078582894域名注册网站需…

提高网站权重的方法(留作参考)

2019独角兽企业重金招聘Python工程师标准>>> 一、百度贴吧发贴回贴带上你的链接,但不要以打广告形式,会被k的 我们都知道贴吧是百度旗下的独立品牌,全球最大中文社区。贴吧是一种基于关键词的主题交流 社区,它与搜索紧密结合,准确…

大型网站架构技术一览

大型网站的挑战主要来自庞大的用户,高并发的访问和海量数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手。大型网站架构主要就是解决这类问题。 本文内容大部分来自《大型网站技术架构》,这本书很值得一看…

手机下载小说为php格式的,PHP响应式小说网站整站源码(自适应手机移动端+深度SEO优化自动采集+图文安装教程)...

【温馨提示】源码包解压密码:www.youhutong.com资源描述PHP响应式小说网站整站源码(自适应手机移动端深度SEO优化自动采集图文安装教程)源码介绍:深度SEO优化自动采集的新版本,小说不占内存,存个上万小说不成问题。记住采集以后的…

FCD网站服务器加密,AWS S3 应用 KMS Key 进行服务端数据加密

当我们把数据搬上云端,为了保护敏感数据一定要对数据存储进行加密。而对于 S3 上的数据加密最简单莫过于启用服务端数据加密,可以是 AES-256 或 AWS-KMS。进行了服务端加密码的文件有什么不同呢?首先从 AWS S3 文件列表视图中看到的文件大小与…

利用wordpress添加新页面_wordpress可以做跨境独立站或自建站吗

wordpress可以做跨境独立站或自建站吗做外贸独立站或者自建站的平台海内外还是有很多的,具体市场不同,建站也不同,下面收集的一些wordpress自建站详细信息:1、shopify(最常见)Shopify是世界上最大和最受欢迎的电子商务平台之一。它…

html5网站入门,萌新的HTML5 入门指南

本文由葡萄城技术团队原创并首发作者:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。HTML5的发展改变了互联网技术趋势,前端热度依旧不减,所以对于应用开发人员前端技术也成了必备技能之一…

《淘宝店铺 大数据营销+SEO+爆款打造 一册通》一一2.4 商品分析助力商家打造爆款...

本节书摘来自异步社区出版社《淘宝店铺 大数据营销SEO爆款打造 一册通》一书中的第2章,第2.4节,作者:葛存山 , 耿寿礼,更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.4 商品分析助力商家打造爆款 商品分析提供了店铺商…

整理网站页面CV的《长恨歌》文本,python字符串基础知识实战。

【点击此处跳转笔记正文】Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单…… My CSDN主页、My HOT博、My Python 学习个人备忘录好文力荐、 老齐教室 自学并不是什么神秘的…

网站被用户喜爱的秘密 :挖掘关键词背后的用户需求

今天分享的主题是深挖关键词背后的用户需求,从而达到你的网站被越来越多的用户所认可,喜欢。而不是自娱自乐。一般认为关键词的挖掘就是简单的使用5118等工具查询一下,整理出来一批关键词即可。然而正确的过程并非这样简单,我们不…