一、判断大型网站的标准

1、pv值(page views)网站浏览量:

概念:一个网站,所有的页面,在一天24小时内,被访问的总量,达到千万级别,或者几百万以上。

2、uv值(unique visitor)独立访客:

概念:一个网站,在一天24小时内,有多少个用户来访问我们的网站。uv值几十万个,

3、独立 ip,

概念:一个网站,在一天24小时内,有多少个独立ip来访问我们的网站。

如果要考虑公司的局域网,uv值略大于独立ip的。

二、大型网站带来哪些问题:

1、高的并发量。

并发量:一个网站的,在同一个时间点(1秒内),有多少个用户正在请求同一个地址的网站。

2、大的流量(带宽)

带宽需求变大。

3、数据存储的问题。

当数据表里面的记录非常大,从容量来说,达到 GT级别,要快速的查找到想要的数据。

三、高并发如何解决:

网站的架构,采用分层设计,使用负载均衡和集群。

四、如何解决大流量

1、防止网站的资源被盗链,存在于一些大的资源类型的网站

2、减少了http请求,

可以把一些css样式文件和js,一些背景图,合并成一个文件。

3、配置浏览器缓存

把一些更新不是很频繁的资源,比如css,js,图片,缓存到浏览器端,当浏览器请求同一资源时,直接从浏览器缓存里面取出。

4、配置压缩,减少数据传输量

5、可以把比较占流量的一些资源单独部署服务器。

6、花钱买带宽。

五、大存储的解决方案:

最终目标:不查询数据库或少查询数据库,在查询数据库时,要快速的查询到数据。

1、使用服务器端的缓存。

(1)磁盘缓存(页面静态化技术)

(2)内存缓存

内存缓存技术:

memcache,redis,mongodb,mysql的memory存储引擎

2、优化数据库

六、页面静态化技术

把一个动态(操作数据库)的php页面,转换成一个静态的.html页面

实现步骤;

一个http请求,返回的数据分两部分,响应头部信息和响应主体。

(1)拿到响应主体数据内容。(ob缓冲)

(2)把响应主体数据内容,写入到html文件中,(file_put_contents)

(3)直接访问html文件。

1、ob缓存内容:

ob缓存:output_buffering(输出缓存),用于缓存响应主体的数据内容。

如何开启:

第一种方式:在php.ini文件中,

第二种方式:在页面中使用ob_start()函数,来开启。

两种方式的区别是,ob_start()只在当前页面有效,

2、常用函数

ob_start( );开启

ob_get_contetns();获取ob缓存里面的数据内容。

ob_clean();//清空ob缓存里面的数据,不关闭ob缓存。

ob_end_clean();//清空ob缓存里面的数据,并关闭ob缓存。

ob_flush();//把ob缓存里面的数据给刷新(移动,推送)到程序缓存,不关闭ob缓存。

ob_end_flush();//把ob缓存里面的数据给刷新(移动,推送)到程序缓存,并关闭ob缓存。

3、网站静态化:

真静态:实实在在的生成一个html页面。

伪静态:从表面上看是访问的一个静态页面,实际上还是访问的是动态页面。比如如下地址:

http://www.abc.com/news-music-id12_10.html

实际上是访问:http://www.abc.com/news.php?type=music&id=12&page=10页面。

伪静态主要是利于seo的。

实现方式:

真静态实现方式:

第一种:使用ob缓存技术。

第二种:使用模板替换技术

伪静态的实现方式:使用apache的 rewrite机制(url重写机制)

哪些网站适合于真静态?

网站页面访问比较频繁的,更新不是很频繁,比如一些新闻类型的网站,不适合于要求实时更新的一些网站,比如股票类型的网站,

PHP静态化的更多相关文章

  1. 利用PHP的ob函数实现生成静态化页面

    之前用过一些开源的CMS管理系统,当时就很好奇后台中的生成HTML静态文件是怎么实现的.今天和同事讨论了下,没想到同事之前做过这类的生成静态页面的功能,果断向他请教了下. 经他讲解后,才知道其实生成静 ...

  2. 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)

    本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...

  3. 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)

    网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...

  4. 页面静态化技术Freemarker技术的介绍及使用实例.

    一.FreeMarker简介 1.动态网页和静态网页差异 在进入主题之前我先介绍一下什么是动态网页,动态网页是指跟静态网页相对应的一种网页编程技术.静态网页,随着HTML代码的生成,页面的内容和显示效 ...

  5. JSP页面静态化

    Ps:好久没写博客了,不是我太懒,是因为苦逼的我出差去上海了,天天加班 刚回成都.... 今天说说jsp页面静态化,知道静态化的朋友都不陌生,说白了就是访问后缀是html 而不是jsp. 没听说过静态 ...

  6. 大型网站提速关键技术(页面静态化,memcached,MySql优化)(三)

    页面静态化的技术实现有两种方式 使用PHP自己的缓存机制 先说明一下OB缓存的机制. ob1.php 代码:说明的ob的各个用法->项目中 ☞ 如何打开ob缓存 ①     配置php.ini ...

  7. 大型网站提速关键技术(页面静态化,memcached,MySql优化)(二)

    一:页面静态化 几个概念: 静态网址:(比如:http://localhost/abc.html) 特点:1.利用seo(search engine optimization) 搜索引擎优化;2:访问 ...

  8. 大型网站提速关键技术(页面静态化,memcached,MySql优化)(一)

    一:关键技术介绍: 衡量是否为大型网站的要素: A:PV值(page views 页面浏览量) 访问量大: 带来的问题:1:流量大 -->解决方案:增加带宽,优化程序(视频和图片较浪费带宽,尽量 ...

  9. php页面静态化技术;学习笔记

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. DEDE整站动态化或整站静态化设置方法,织梦栏目批量静态/动态方法

    跟版网建站接到一个朋友提问,100多各栏目全部要从动态变成静态,里面的文章也要静态化,如何更快捷的设置dede的静态化或者动态化呢? 直接用DEDE后台的SQL命令行工具, SQL语句: DEDE整站 ...

随机推荐

  1. PHP求余函数fmod()

    定义和用法 fmod() 函数返回除法的浮点数余数. 语法 fmod(x,y) 参数 描述 x 必需.一个数. y 必需.一个数. 说明 返回被除数(x)除以除数(y)所得的浮点数余数.余数(r)的定 ...

  2. C#动态创建和动态使用程序集、类、方法、字段等

    C#动态创建和动态使用程序集.类.方法.字段等 分类:技术交流 (3204)  (3)   首先需要知道动态创建这些类型是使用的一些什么技术呢?其实只要相关动态加载程序集呀,类呀,都是使用反射,那么动 ...

  3. win8 app内存溢出检测工具PerfView.exe的使用

    PerfView使用教程:https://msdn.microsoft.com/en-us/magazine/jj721593.aspx PerfView下载地址:https://www.micros ...

  4. 安装Yeoman,遇到的问题

    在安装Yeoman遇到了一些报错,具体的步骤就不多说了,直接上码,具体的两处报错的地方. 第一个,创建webapp,直接报权限的错误,这时才留意到在它之前还有一个错误. [root@iZ289zd8c ...

  5. tp5 中 model 的聚合查询

    方法 说明 Count 统计数量,参数是要统计的字段名(可选) Max 获取最大值,参数是要统计的字段名(必须) Min 获取最小值,参数是要统计的字段名(必须) Avg 获取平均值,参数是要统计的字 ...

  6. 3. UILable 的使用

    1.  坐标系 来自:http://www.cnblogs.com/mcj-coding/p/5100455.html  QQ: 863740091 如果在平面坐标系中我们要确定一个东西的位置和大小需 ...

  7. 终端下vim无法输入问题解决

    最近回归vim时发现会偶尔出现vim无法输入,但光标在动的情况,一度怀疑是spf13的问题,后来经搜索,才发现是因为vim下,快捷键 Ctrl+s 的功能是停止输入,在IDE下编程时间长了,都有潜意识 ...

  8. Extjs DOM操作的几个类

    Extjs提供了非常完善的DOM操作方法,可以方便的操作DOM.另外Extjs还可以方便的查询DOM元素,并把这些DOM元素封装成Ext.Element对象,通过Element对象我们可以操作DOM元 ...

  9. Class.forName()的作用

    大家都用过Class.forName(),也都知道是类加载的作用,其实这方法不只是类加载,还有类初始化. 下面用个小例子说明一下: A类,是用来加载的类 /** * 用来测试类加载的类此类有 * 静态 ...

  10. Asp.net导出Excel(HTML输出方法)

    主要思路: 实例化Gridview,将值绑定后输出...(用烂了的方法) 贴上核心代码: public static void ExportToExcel(DataTable dataList, st ...