大规模服务: 
    可扩展,负载均衡,保证冗余,低运维成本,开发人数和开发方法的变化 
数据处理: 
    磁盘—>内存—>缓存—>CPU 
障碍: 
    持续增长的服务,”无法在内存中计算“(内存要比磁盘快10^5~10^6倍) 
  
Linux的页面缓存: 
    先把磁盘内容读入内存 
    ——>建立页面 
    建立好的页面不会释放而是保存下来 
    ——>页面缓存 
    除了例外情况,页面缓存会透明地作用在所有I/O上 
    ——>例外的情况为负责磁盘缓存部分(VFS) 
  
VFS(Virtual File System):虚拟文件系统VFS作为一个抽象层,统一各个文件系统不同的函数,使之拥有共同接口,从而使用同样的机制同样的进行缓存,实现页面缓存以提高性能。 
  
LRU(Least Recent Used):放弃最老的内容,留下最新的内容(其实就是个队列)。 
  
sar工具:①追溯过去的统计数据 ②周期性地查看当前数据(详细内容见sar命令小结,麦库bigdata) 
  
CPU扩展比较简单,可以借助于: 
    增加相同结构的服务器,通过负载均衡器来进行分散; 
    Web、应用程序服务器、爬虫 
I/O负载的扩展十分困难,可借助于: 
    数据库; 
    大规模数据 
  
处理大规模数据的重点: 
    能在内存中完成多少? 
        将磁盘寻道次数降到最低 
        可以实现分布式、有效利用局部性 
    能应对数据量增加的算法和数据结构 
        例如:线性搜索——>二叉树搜索 
                    O(n)--->O(log n) 
        数据压缩 信息搜索技术 
  
处理大规模数据中,程序开发的底层基础 
    算法、压缩和搜索 
  
写程序在处理大规模数据之前: 
    注意操作系统缓存 
    以分布式为前提的RDBMS应用 
    算法和数据结构 
  
以页面缓存为基础的运维的基本规则 
    操作系统刚启动时不要将服务器投入生产环境 
    性能测试最好在缓存优化后进行

《大规模 web服务开发》笔记的更多相关文章

  1. HTML+CSS笔记 CSS笔记集合

    HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...

  2. CSS笔记--选择器

    CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...

  3. HTML+CSS笔记 CSS中级 一些小技巧

    水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...

  4. HTML+CSS笔记 CSS中级 颜色&长度值

    颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...

  5. HTML+CSS笔记 CSS中级 缩写入门

    盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...

  6. HTML+CSS笔记 CSS进阶再续

    CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...

  7. HTML+CSS笔记 CSS进阶续集

    元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...

  8. HTML+CSS笔记 CSS进阶

    文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...

  9. HTML+CSS笔记 CSS入门续集

    继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...

  10. HTML+CSS笔记 CSS入门

    简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...

随机推荐

  1. HDU - 6082 度度熊与邪恶大魔王(背包变式)

    度度熊与邪恶大魔王 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式,需 ...

  2. PHP json 对象 数组互相转换

    json格式转为数组/对象 json_decode() json 对象/数组转json格式 json_encode()

  3. SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.事务管理简介 1.事务基本概念 一组业务操作ABCD,要么全部 ...

  4. [NOI2002] 贪吃的九头蛇

    考虑任意一种划给大头的方案,两端的都给了大头(bel=1)的边产生难受值,剩下n-k个果子分给m-1个头,当m-1=1时,两端都给了这个小头也产生难受值:而m-1>1的情况要好看的多,贪心的,因 ...

  5. IDEA导入HttpServlet包

    转载此篇博客,言简意赅.https://blog.csdn.net/liu_yanzhao/article/details/78838670

  6. 已知单链表的数据元素为整型数且递增有序,L为单链表的哨兵指针。编写算法将表中值大于X小于Y的所有结点的顺序逆置。(C语言)

    对此题目的完整示例可直接运行代码如下: #include <stdio.h> #include <stdlib.h> typedef struct LNode{ int dat ...

  7. linux下提示/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found 解决办法

    1.查看gcc版本中包含哪些库. strings /usr/lib64/libstdc++.so.6 | grep GLIBC GLIBCXX_3. GLIBCXX_3.4.1 GLIBCXX_3.4 ...

  8. ubuntu 设置字符集 locale(解决乱码问题)

    1.locale 查看现在的locale配置环境 2.localepurge 配置需要的locale(如果没有这个命令,用apt-get install localepurge安装) 3.locale ...

  9. 058 Length of Last Word 最后一个单词的长度

    给定一个字符串, 包含大小写字母.空格 ' ',请返回其最后一个单词的长度.如果不存在最后一个单词,请返回 0 .注意事项:一个单词的界定是,由字母组成,但不包含任何的空格.案例:输入: " ...

  10. javac 找不到文件 的可能原因

    初学Java还不太明白,竟在些简单的事情上栽跟头,分享一下省的麻烦. 当我们配置好JDK和环境变量之后,在命令行下输入javac,说明我们的安装是正确的.