56-网站优化复习_简历.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大型网站优化和开源产品-复习 大型网站优化 什么是大型网站? 答:PV值(千万) UV值(百万) 独立IP(十万,百万) 地方站(5w) 大型会带来问题 答: 高并发(在1s之内,访问量的总和) 大流量 大存储(查找,高效) 如何解决大型网站带来的问题 答: 高并发: 分层(lamp 分三层(单独的服务放在单独的服务器) 负载均衡集群(多台服务器为完成同一个功能而搭建的架构) ) 负载均衡器: 硬件和软件 硬件 f5 游戏 银行 软件 lvs(四层) nginx(七层) 负载均衡算法: 轮询 一个一个轮在接受用户的请求 加权 能者做劳,谁的能力强,接受更多用户请求 iphash 对服务器的台数取摸,对应余数就是服务器的号码 集群: 负载均衡集群 高可用集群 高性能集群 负载均衡集群提供高可用的能力,但是不具备高可用集群的特性(keepalive去监控主服务器的特性) 大流量: 客户端浏览器缓存 在服务器端压缩代码(使用 grunt 去清除 空格 注释 , 使用 gzip服务器去压缩,但是需要浏览器的支持) 减少http请求,将多个js文件和css文件合并成一个文件 将静态资源放在CDN服务器上 买带宽 检索:缓存 和 MySQL自身优化 缓存: 磁盘缓存 和 nosql缓存 磁盘缓存:真静态,生成真正的html文件 效率上 伪静态:利用Apache的Rewrite模块做一个动态URL地址的重写成一个静态URL地址,这样有利于SEO。形式上 nosql缓存:memcache 和 redis memcache和redis区别 memcache是纯内存,不能持久化,redis可以持久化 memcache的大小是现在 1M, redis理论上没多大现在,但是建议小于1G memcache是缓存,redis是一个nosql的产品 memcache存储数据类型单一,redis存储的数据类型复杂(string hash link set order set) memcache没有权限问题,redis提供了简单权限检查 MySQL自身优化 设计 存储引擎 数据类型 范式 MySQL自身 索引(主键 唯一 普通 全文) MySQL缓存 架构 读写分离(基础 主从复制) 经验 合理SQL(慢查询 profile去获取) 硬件 参数 和 升级 存储引擎:MyISAM和InnoDB 结构:MyISAM有三个文件(结构,索引,数据) InnoDB有两个文件(结构,数据空间(索引和数据)) 事务支出 MyISAM不支持 InnoDB是支持 锁:MyISAM是表锁 InnoDB是行锁 索引结构的区别 MyISAM的索引结构是B-tree(索引节点上保存的是物理行地址)InnoDB使用的聚簇索引(索引节点保存的是对应一行记录),并且InnoDB只有主键索引使用聚簇索引结构,如果是次索引(普通,唯一)指向主键索引的一个引用 相对来说,MyISAM更适合做查询,并且也是做写。 InnoDB不太适合做大批量的数据插入(索引开销太大) 数据类型:tingint char MySQL调优的一个通用思路: 一般先测试服务器, 开启慢查询,定位SQL语句,使用profile去分析SQL语句出现的问题,(SQL语句使用不合理,索引建立的不合适),然后在使用explain工具去分析SQL语句使用索引情况,然后在做出调整。 架构:读写分离 主要是由于网站整体的业务基本都是在读(select)70%, 其他都是 写, 就可以使用多台服务器来分担读的压力,使用了读写分离架构,主要使用mysql-proxy来实现分离,但是需要解决数据的一致性问题,就使用了主从复制(主要是使用MySQL提供的一种叫做bin日志记录(记录对MySQL数据库数据造成更改的SQL语句)还需要在主服务器设置一个授权账号,然后从服务器去主服务器上读取bin日志,然后在本地执行,保持数据的一致性) nosql产品 什么是nosql数据库? 答:不使用SQL语句作为查询的数据库,是使用key-value这种键值来保存数据的数据库 nosql分类 memcache 和redis memcache如何做分布式? 答:1. 取摸 让key做一个hash运算(crc32)之后对服务器的台数取摸,然后让value保存到对应的余数那台服务器上 2. 一致性hash 1. 假象有一个大的圆环,分布着 0 --2^32 这么多个数 2. 让服务器的号码(0号服务器)也做hash运算然后映射到圆环 3. 然后将key也做hash运算,然后顺时针去找对应的服务器节点,只要这个数比自己大,就保存到它的上面 好处:即使某

文档评论(0)

精品文库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档