网站静态化大型提速关键技术_第1页
网站静态化大型提速关键技术_第2页
网站静态化大型提速关键技术_第3页
网站静态化大型提速关键技术_第4页
网站静态化大型提速关键技术_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大型网站提速关键技术:页面静态化、缓存技术、Mysql优化技术、负载均衡、集群、读写分离大型网站标准pv值(page views):网站浏览量:uv值(unique visitor):独立访客:独立ip:大型网站带来的问题大并发:概念:在同一时间点,有多少用户同时访问网站。大流量:大并发,必然要导致大流量,需要高的带宽。大存储:数据库存储,表达到G,T级别。大并发解决方案:网站重新架构,分层技术,负载均衡,集群,读写分离大流量解决方案:(1)禁止外部的盗链,或者使用非技术手段来解决,比如在图片上增加水印。(2)网站的图片在保证能用的情况下,尽量小,一般不要超过300k.(3)进可能使用背景图(

2、4)把占用流量的资源,比如图片,视频,文件等放到专用的服务器上面,(5)可以对数据压缩后再传输。(6)花钱买带宽。大存储解决方案:(1)使用缓存技术,尽量不查数据库或少查数据库。常见的有:页面静态化(磁盘缓存)。内存缓存技术(redis,memcached,mysql数据库的memory存储引擎)(2)表设计要满足3范式。(3)要创建适当的索引(主键索引,普通索引,唯一索引,全文索引,)。(4)分表技术(5)分区技术,物理上把数据分到不同的空间。(6)创建一些存储过程,函数,事务,触发器。(7)读写分离(8)优化sql语句,尽量自己需要的数据(9)配置mysql.ini文件。比如配置并发量,缓

3、存配置等。(10)mysql服务器硬件升级。(64位处理器,多个cpu。)页面静态化页面静态化概述:页面静态化分为两种。真静态,伪静态。真静态;把一个动态的页面,转成一个静态的页面,伪静态:从url地址上看是一个静态网址,但是实际上还是对应一个动态页面,比如。 页面静态化-基本原理页面静态化-几个重要概念(1)静态网址(2)动态网址(3)伪静态网址页面静态化-分类从形式上看:真静态,伪静态。从静态化的范围看:全局静态,局部静态(页面整体静态化,页面有数据必须动态。)页面静态化-实现页面静态化技术实现页面静态化(真静态)有两种方法,1、使用php的缓存的机制,2、使用模板替换技术页面静态化-ob

4、缓存机制讲解ob就是 output_buffering:输出缓存,在请求一个php的过程中,我们实际上经过三个缓存,程序缓存,ob缓存,浏览器缓存。说明: 在php5.2这个版本 在php.ini有一个配置 output_buffering ,默认是关闭,如果是关闭,这刚才的代码就会警告. 如何打开ob缓存1、配置php.ini 文件 output_buffering = 40962、直接在程序中 ob_start();页面静态化-ob缓存的几个重要规则在服务中,如果我们开启了ob缓存,则echo数据首先放入到OB中如何开启OB , 有两个方法1. 在php.ini 配置 ;output_bu

5、ffering = 4096 这里去掉;号即可, 2. 在php页面中使用 ob_start(); 通过php.ini 打开的,则作用于所有的php页面 , 使用ob_start()打开则只作用于该页面当PHP页面执行到最后,则会把ob缓存的数据(如果有的话), 强制刷新到程序缓存,然后通过apache对数据封装成http响应包,返回给浏览器如果没有ob,所有的数据直接放入程序缓存.header信息不管你是否开启ob,总是放入到程序缓存/开启ob缓存ob_start();echo hello,wrold!;header(content-type: text/html;charset=utf-8

6、);echo 你好!;/把ob内容缓存清空,但是ob缓存还在/ob_clean();/把ob内容缓存清空,同时关闭ob缓存/ob_end_clean();/把ob缓存的内容,刷新到程序缓存,同时关闭ob缓存/ob_end_flush();/把ob缓存的内容,刷新到程序缓存,不关闭ob缓存ob_flush();echo 笑傲江湖;/获取ob缓存内容$con=ob_get_contents();/需要把日志,写入文件. echo print_r var_dump ,写文件 ,下断点file_put_contents(d:/hsp.log,$con);页面静态化-ob缓存的几个重要规则页面静态化-o

7、b缓存的测试flush()该函数是把 程序缓存的内容,强制刷新到 浏览器ob_flush和flush()的区别:一些版本的浏览器只有当接受到256个字节后才开始显示,该页面,所以必须发送一些额外的空格来让这些浏览器显示页面的内容。程序开头可加echo str_repeat(“”,1024);页面静态化-ob缓存的测试页面静态化-ob缓存案例页面静态化-ob缓存优化30秒更新网站并发测试工具apache/bin/ab.exe 程序可以来做效率测试基本使用:ab options https:/hostname:port/pathoptions是选项:-n 执行访问总次数-c 用户并发数量(有多少人

8、同时访问)该工具可以模拟多人并发访问某个页面。网站并发测试工具常用的压力测试软件:ab : 优点:可以模拟各种请求 缺点:最大只能支撑1000的并发webbench: 优点:30000万的 并发 缺点:只能模拟GET请求loadrunner : 非常专业的压力测试软件网站并发测试工具如何调整apache的最大并发数1、在默认情况下,apache的最大并发为150个,因此需要调整首先搞清楚当前apache是什么MPM(多路处理模块), 通俗讲就是apache处理多并发的方式, 常见的有三种 (1)perfork(预派生模式) (2)worker(工作者模式) (3)winnt模式(windows

9、下默认的模式)说明: 看 mpm_xxx.c ,这里的xxx就是你的mpm模式如何调整apache的最大并发数2、打开httpd.conf 文件的 mpm从配文件# Server-pool management (MPM specific)Include conf/extra/httpd-mpm.conf3、修改httpd-mpm.conf 文件,调整最大并发# WinNT MPM# ThreadsPerChild: constant number of worker threads in the server process# MaxRequestsPerChild: maximum num

10、ber of requests a server process serves #ThreadsPerChild 就是你的最大并发数 ThreadsPerChild 1000 #子进程可以创建最大进程总数 MaxRequestsPerChild 0说明: 并不是你调整到1000,你的服务器就一定可以并发1000,因为要考虑你的服务器的本身性能.如何调整apache的最大并发数在linux下一般是perfor模式给大家一个合理的建议配置. 对大部分网站,中型网站,配置: StartServers 5 #预先启动 MinSpareServers 5 MaxSpareServers 10 #最大空闲进程 ServerLimit 1500 #用于修改apache编程参数 MaxClients 1000 #最大并发数 MaxRequestsPerChild 0 #一个进程对应的线程数,对worker 更有效果。如果是0则不让进程死掉。如果你的网站pv值 百万 ServerLimit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论