缓存服务器

斗鱼已公开的运维技术和架构分析

自古美人都是妖i 提交于 2020-02-21 10:57:46
斗鱼已公开的运维技术和架构分析 By 12月01日 2016 Architecture Douyu Ops Architecture 引言 最新一个比较全面的斗鱼运维架构分享是在 GITC 2016 北京站的运维专场,以下架构分享文档。 用户在斗鱼看直播时,斗鱼在看什么 从用户电脑浏览器访问一个网站的过程(还有结合一些公开资料)分析斗鱼网站使用的相关运维技术信息和架构方案。 客户端层 1. 浏览器 包含 Cookie、浏览器缓存协商(Last-Modified、Expires、Etag)、组件分离、前端优化、运维检测工具等内容。 上述可以通过浏览器开发者工具进行具体查看。 2. DNS 域名 包含浏览器 DNS 缓存、DNS 缓存、自建 DNS 服务器、商业 DNS 产品、智能 DNS 等内容 用户使用浏览器访问一个网站,是输入网站域名进行访问的。 下面我们来看看斗鱼网站的相关域名信息,它的主域名是 douyu.com。 我们使用阿里的 whois 查询服务来查下, 具体信息去以下链接查看 https://whois.aliyun.com/whois/domain/douyu.com 从上面查询到的信息我们可以看到 douyu.com 域名注册商是 GoDaddy。 然后还有一个重要的信息,配置的权威 DNS 服务器为: DNS1:NS3.DNSV4.COM DNS2:NS4

大型高并发高负载网站的系统架构

血红的双手。 提交于 2020-02-21 01:45:13
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系 统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技 术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能 比拟的。      大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题。      上面提供的几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈,没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。      1、HTML静态化    其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是 最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点

高性能网站建设,前端优化

喜你入骨 提交于 2020-02-20 17:39:18
相信互联网已经越来越成为人们生活中不可或缺的一部分。ajax,flex等等富客户端的应用使得人们越加“幸福”地体验着许多原先只能在C/S实 现的功能。比如Google机会已经把最基本的office应用都搬到了互联网上。当然便利的同时毫无疑问的也使页面的速度越来越慢。自己是做前端开发的,在性能方面,根据yahoo的调查,后台只占5%,而前端高达95%之多,其中有88%的东西是可以优化的。   以上是一张web2.0页面的生命周期图。工程师很形象地讲它分成了“怀孕,出生,毕业,结婚”四个阶段。如果在我们点击网页链接的时候能够意识到 这个过程而不是简单的请求-响应的话,我们便可以挖掘出很多细节上可以提升性能的东西。今天听了淘宝小马哥的一个对yahoo开发团队对web性能研究的 一个讲座,感觉收获很大,想在blog上做个分享。   相信很多人都听过优化网站性能的14条规则。更多的信息可见developer.yahoo.com   在firefox下有一个插件yslow,集成在firebug中,你可以用它很方便地来看看自己的网站在这几个方面的表现。   这是对用yslow对我的网站西风坊测评的结果,很遗憾,只有51分。呵呵。中国各大网站的分值都不高,刚测了一下,新浪和网易都是31分。然后yahoo(美国)的分值确实97分!可见yahoo在这方面作出的努力。从他们总结的这14条规则

优化网站性能的14条军规 快速提高网站访问速度

六眼飞鱼酱① 提交于 2020-02-20 16:52:35
优化网站性能的14条军规 快速提高网站访问速度 相信互联网已经越来越成为人们生活中不可或缺的一部分。ajax,flex等等富客户端的应用使得人们越加“幸福”地体验着许多原先只能在C/S实现的功能。比如Google几乎已经把最基本的office应用都搬到了互联网上。当然便利的同时毫无疑问的也使页面的速度越来越慢。自己是做前端开发的,在性能方面,根据yahoo的调查,后台只占5%,而前端高达95%之多,其中有88%的东西是可以优化网站性能的。 以上是一张web2.0页面的生命周期图。工程师很形象地讲它分成了“怀孕,出生,毕业,结婚”四个阶段。如果在我们点击网页链接的时候能够意识到这个过程而不是简单的请求-响应的话,我们便可以挖掘出很多细节上可以提升性能的东西。今天听了淘宝小马哥的一个对yahoo开发团队对web性能研究的一个讲座,感觉收获很大,想在blog上做个分享。 优化网站性能的14条军规 快速提高网站访问速度,更多内容如下: 相信很多人都听过优化网站性能的14条规则。 1. 尽可能的减少 HTTP 的请求数 [content] 2. 使用 CDN(Content Delivery Network) [server] 3. 添加 Expires 头(或者 Cache-control ) [server] 4. Gzip 组件 [server] 5. 将 CSS 样式放在页面的上方

企业级varnish反向代理的实现

∥☆過路亽.° 提交于 2020-02-19 19:51:38
1. varnish的基础介绍 Varnish是高性能开源的反向代理服务器和HTTP缓存服务器,Varnish的功能与Squid服务器相似,都可以用来做HTTP缓存。    Squid是从硬盘读取缓存的数据,而Varnish把数据存放在内存中,直接从读取内存,避免了频繁在内存、磁盘中交换文件,所以Varnish要相对更高效,但也有缺点,内存中的缓存在服务器重启后会丢失。   (1) Varnish 如何工作 varnish启动时会产生2个进程,一个由root开启(主进程),一个由varnish开启(子进程);主进程 fork 子进程,主进程等待子进程的信号,子进程退出后,主进程重新启动子进程。 子进程生成若干线程,具体对客户的请求进行处理: Accept 线程:监听端口,接受连接;接受连接后组成 session 结构,查看是否有空闲线程,若有则分配给其处理,若无,则检查等待队列 overflow 的大小,若过大,则抛弃请求,否则加入 overflow 队列。 Work 线程:从对列上摘除请求,对请求进行处理,直到完成,然后处理下一个请求。子进程会为每一个用户请求(如果需要处理),启一个worker线程,所以它单线程,单响应的;即是每一个请求用一个独立的线程响应的 Epoll 线程: 一个请求处理称作一个 session,在 session 周期内,处理完请求后,会交给Epoll

TCP报文段的首部格式

隐身守侯 提交于 2020-02-19 17:59:57
TCP报文段的首部格式 1.1.首部字段详解 TCP首部包括20字节的固定首部部分及长度可变的其他选项,所以TCP首部长度可变。20个字节又分为5部分,每部分4个字节32位,如图中的5行,每行表示32位。 在 传输层 ,TCP报文段包括:TCP首部和TCP数据部分;在 网络层 ,TCP报文段成为IP数据部分,加上IP首部组成IP数据报;在 数据链路层 ,还要在IP数据报前面加上数据链路层的首部。 源端口和目的端口 字段——各占 2 字节(16位)。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。 序号 字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。比如分组的第一个数据包由文件的1~4个字节数据组成,那么该数据包所添加的序号就是1,同理第二个数据包由文件的5~9个字节数据组成,那么该数据包所添加的序号就是5; 确认号 字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。比如接收端收到由文件1~4个字节数据+TCP首部组成的数据包后,删除首部提取1~4个字节数据,返回的确认号为5,即告诉发送端下一次应该发送文件的第5个字节及其之后字节组成的数据包过来。 数据偏移 (即首部长度)——占 4 位,它指出 TCP 报文段的数据起始处距离 TCP

linux企业实战----大型网站架构概述

假装没事ソ 提交于 2020-02-19 14:19:41
目录标题 1. 网站架构演化发展历程 2. 使用缓存服务器改善网站性能 3. 使用应用服务器集群改善并发处理能力 4. 数据库读写分离 5. 使用反响代理和cdn加速网站响应 6. 使用分布式文件系统和分布式数据库系统 7. 使用nosql和搜索引擎 8. 业务拆分 9. 分布式服务 1. 网站架构演化发展历程 2. 使用缓存服务器改善网站性能   网站访问的特点和二八定律一样:80%的业务访问及中在20%的数据上。所以如果把这一部分数据缓存在内存中,可以减少数据库的访问压力,提高整个网站的数据访问速度,改善数据库的写入性能。   网站使用的缓存可以分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布缓存服务器上的远程缓存。   本地缓存的访问快一些,但受应用服务器内存限制,缓存数据量有限,远程分布式缓存可以使用集群(n)的方式,步数大内存的服务器作为专门的缓存服务器,理论上做到部首内存容量的限制的缓存服务。 缓存技术:   内容分发网络(CDN)反向代理   本地缓存 分布式缓存   使用前提:1. 数据访问热点不均匀 2. 是数据在某个时间段内有效,不会很快过期 3. 使用应用服务器集群改善并发处理能力   使用缓存后,数据访问压力得到有效的环节,但是单一应用服务器能够处理的请求链接有限,在网站高峰期,应用服务器称为整个网站的瓶颈。   使用集群是网站解决高并发

Windows系统cmd网络常用命令

北城余情 提交于 2020-02-19 12:20:02
https://blog.csdn.net/salmonwilliam/article/details/85274043 ping ARP Tracert Route ipconfig Netstat Nbtstat Pathping Netsh net __________________________________________________________________________________________________ Arp –a :显示所有的ARP表项 其他参数: Arp -s:在ARP缓存中添加一条记录. C:\>Arp -s 126.13.156.2 02-e0-fc-fe-01-b9 Arp -d:在ARP缓存中删除一条记录. C:\>Arp -d 126.13.156.2 Arp -g:显示所有的表项 C:\>Arp -g _____________________________________________________________________________________________________ tracert 是为了探测源节点到目的节点之间数据报文经过的路径. 如果此时TTL=0则向源节点报告TTL超时这个特性,从一开始逐一增加TTL,直到到达目的站点或TTL达到最大值255. Ø功能:探索两个节点的路由.

大型网站的架构概述

走远了吗. 提交于 2020-02-19 11:38:20
大型网站的特点 以用户为中心,用户多,分布广泛 流量大,并发高,数据量大 安全环境恶劣,容易受到网络攻击 需求多,频繁发布 系统从小到大,渐进发展 大型网站的架构目标 高性能:提供快速访问体验(响应时间短,兵法处理能力强,吞吐量高) 高可用:网站服务一直可以正常访问(负载均衡,冗余备份) 可伸缩:可通过增加或减少服务器来提高或降低处理能力 扩展性:方便的通过新增/移除方式,增加/减少新的功能/模块 安全性:提供网站安全访问和数据加密,安全存储等策略 大型网站的架构演变历程 1.所有的应用服务器,数据库和文件都在同一台服务器上。 .在网站刚刚开始的时候,并没有很多的访问量,所以只需要一台服务器就足够了,这时候的网站架构如下图所示: 2.进行数据和应用的分离 随着网站的业务发展,增加的访问导致性能降低,增加的数据导致存储空间不足,这时候就需要进行数据和应用的分离: 分离后的服务器: 应用服务器:需要处理大量的业务逻辑,所以需要更强大的CPU; 文件服务器:要存储更多的静态文件,所以需要更大的硬盘; 数据库服务器:需要快速磁盘检索和数据缓存,所以需要更快的硬盘和更大的内存; 应用和数据的分离,提高了网站的并发处理能力和数据存储空间,使网站的性能得以改善。 3.使用缓存改善网站性能 网站的数据访问满足二八定律,即80%的业务访问集中在20%的数据上,例如微博热搜

企业CDN缓存系统--varnish(一)

巧了我就是萌 提交于 2020-02-19 00:23:14
企业CDN缓存系统–varnish(一) 文章目录 企业CDN缓存系统--varnish(一) 1.CDN缓存系统 - 概念 - CDN的工作原理 2.varnish - 什么是varnish? - varnish加速器与Squid加速器的对比 - varnish代理服务器的工作方式 - 为什么要使用varnish加速缓存代理服务器? - varnish加速器的工作流程 1.CDN缓存系统 - 概念 CDN:content distribute network(内容分发网络)或者content delivery network(内容交付网络)。 CDN的任务是将内容从源站传递给用户。 常说的互联网由两层组成: 一层是以TCP/IP为代表的网络层(狭义的互联网internet),另一层是以www为代表的应用层。 过各种网络设备,实现各个计算机之间的互联互通,实现各种信息数据的低成本传输。 举个简单例子来区分而这之间的差异:internet就是铁路轨道和各种信号灯,而www则是运行在internet上的众多火车中的一种。 - CDN的工作原理 无cdn时,用户通过浏览器访问网站的过程 1.用户在浏览器输入URL 2.浏览器向本地DNS请求域名解析 3.如果本地DNS缓存有该域名的解析结果,则直接将解析结果返回给浏览器 4.如果本地DNS缓存中无该域名的解析结果