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

几个概念:
静态网址:(比如:http://localhost/abc.html)
特点:1.利用seo(search engine optimization) 搜索引擎优化;2:访问速度快 3:防止sql注入
http://localhost/index.php?u=123&p=/*2323*/
动态网址:(比如:http://localhost/news.php?id=112 即访问的是一个php页面,可以传递参数)
特点:1:不利于SEO;2:访问速度慢;3:有被注入sql可能;
伪静态网址:
在实际开发中,我们希望达到这样的目的:
http://localhost/news.php?lang=cn&class=2
把上面的网址修改成下面的网址:
http://localhost/news-cn-class.html ----->伪静态网址
特点:1:利于seo2:防止注入 3:他仍然要访问数据库,速度没有变化
页面静态化的分类:
从方式看:1:真静态2:伪静态
从范围看:1:全局静态 2:局部静态化(实际中用的最多)[ajax+jquery]
介绍一款压力测试的工具ab.exe apache/bin/ab.exe
*如何使用ab工具(可以测试自己的网站并发量大小,和某个页面的访问时间)
在cmd控制台下
ab.exe –n 访问的总次数 –c 有多少人访问(并发量) 访问的页面url
举例说明:
ab.exe –n 10000 –c 100 http://localhost/1230test/newfile.php

当我们把 –c 调整到1000时,发现apache瘫痪.

如何调整apache的最大并发量.
MPM (多路处理模块, 即 apache采用怎样的方式来处理并发.), 主要有三种方式:
- perfork 预处理进程方式
- worker 工作模式
- winnt 这个一般说是windows采用的
原理示意图:

如何设置我们的apache的最大并发数 ,步骤如下:
(1) 在httpd.conf 文件中 修改
# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf
(2) 确定当前的apahce是什么MPM模式
进入到 apache/bin
httpd.exe –l

说明: 看 mpm_xxx.c 如果xxx是 winnt 说明是winnt ,另外还可能是 perfork 或者 worker
(3) 修改httpd-mpm.conf 文件.
<IfModule mpm_winnt_module>
ThreadsPerChild 1000
MaxRequestsPerChild 0
</IfModule>
(4) 重启apahce ,测试
在linux下,一般说采用的MPM是 perfork模式,我们看看如何配置.
<IfModule mpm_prefork_module>
StartServers 5 #预先启动进程(预先开5个进程)
MinSpareServers 5 #最小空闲进程(即使没有请求,还是要保证有5个进程)
MaxSpareServers 10 #最大空闲进程(请求大于10时会杀死多余进程剩余10个)
MaxClients 150 #并发量(最大两三千吧)
MaxRequestsPerChild 0 #一个进程对应的线程数,对 worker更有用.(0:无限制)
</IfModule>
给大家一个合理的建议配置. 对大部分网站,中型网站,配置:
<IfModule mpm_prefork_module>
StartServers 5 #预先启动
MinSpareServers 5
MaxSpareServers 10 #最大空闲进程
ServerLimit 1500 #用于修改apache编程参数
MaxClients 1000 #最大并发数
MaxRequestsPerChild 0
</IfModule>
如果你的网站pv值
百万
ServerLimit
2500 #用于修改apache编程参数
MaxClients 2000 #最大并发数
*如果在大的话,上千万,紧靠一个apache 就不够了,就要使用nginx(反向代理)或者其他的负载均衡的方法
最后有一个关于html和php的访问效率图
:

分享一下页面seo技巧:

*meta中的keywords有3--5个即可,太多有可能会被K站或者被视为作弊;
*如果一个图片希望被百度到
<img alt=’小狗’ src=’’/>
在网站前台,我们建议 不要使用frame框架,不利用seo
如果我们给图片或者视频取名字,尽量简短.
大型网站提速关键技术(页面静态化,memcached,MySql优化)(二)的更多相关文章
- 大型网站提速关键技术(页面静态化,memcached,MySql优化)(一)
一:关键技术介绍: 衡量是否为大型网站的要素: A:PV值(page views 页面浏览量) 访问量大: 带来的问题:1:流量大 -->解决方案:增加带宽,优化程序(视频和图片较浪费带宽,尽量 ...
- 大型网站提速关键技术(页面静态化,memcached,MySql优化)(三)
页面静态化的技术实现有两种方式 使用PHP自己的缓存机制 先说明一下OB缓存的机制. ob1.php 代码:说明的ob的各个用法->项目中 ☞ 如何打开ob缓存 ① 配置php.ini ...
- 利用ResultFilter实现asp.net mvc 页面静态化
为了提高网站性能.和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式. 实现原理是通过mvc提供的过滤器扩展点实现页面内容 ...
- 利用ResultFilter实现asp.net mvc3 页面静态化
为了提高网站性能.和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式. 实现原理是通过mvc提供的过滤器扩展点实现页面内容 ...
- 六、smarty-缓存控制前的页面静态化原理
页面静态化可以实现优化服务,对大流量访问网站非常至关重要 为什么页面静态化, 1. 不去执行数据库连接 2. 不去执行SQL语句 设置按时间更新, 1. 按时间更新,如果缓存文件设置1小时 如下 ...
- 各种系统性能优化技术,采用vilocity实现商品页面静态化
1.大型门户网站系统:>10万的访问量 行业网站(当当网,卓越网):20万-30万,一个小时内会跟数据库的交互至少20万-30万,会产生数据库瓶颈,每个数据库都有一个最大连接数(socket ...
- 页面静态化技术Freemarker技术的介绍及使用实例.
一.FreeMarker简介 1.动态网页和静态网页差异 在进入主题之前我先介绍一下什么是动态网页,动态网页是指跟静态网页相对应的一种网页编程技术.静态网页,随着HTML代码的生成,页面的内容和显示效 ...
- Django框架开发web网站的网页优化—页面静态化
网站优化-页面静态化 1)概念 提前将页面所用到的数据从数据库查询出来,然后生成一个静态页面,之后用户来访问的时候,直接返回静态页面. 举例:首页静态化:获取首页用到的数据表中的数据,生成静态首页in ...
- php页面静态化技术;学习笔记
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- laravel中TokenMismatchException异常处理
在使用post或者put等方法请求时,有时会报TokenMismatchException in VerifyCsrfToken.php line 67错误.原因是laravel默认开启了防CSRF. ...
- ZXing二维码生成在Unity3D中出错,数组超出界限的解决办法
错误截图: IndexOutOfRangeException: Array index is out of range.ZXing.Color32Renderer.Render (ZXing.Comm ...
- Linux VMware 克隆后无法启动eth0网卡
引: VMware 下LINUX出现:Device eth0 does not seem to be present, delaying initialization.解决办法 VMWare 克隆 复 ...
- asp.net中的<%%> <%#%> <%=%>形式的详细用法 (转载)
博客分类: ASP.NET 一. <%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支 ...
- 【实战Java高并发程序设计6】挑战无锁算法:无锁的Vector实现
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...
- thrift ssl 证书整理
一.生成证书,所需机器数必须 >= 2(一台生成服务端证书,一台生成客户端证书),以下服务器以A表示服务端.B表示客户端来举例,thrift版本为0.7.01.自签名的证书的生成和测试 1)生成 ...
- hadoop2.2编程:MRUnit测试
引用地址:http://www.cnblogs.com/lucius/p/3442381.html examples: Overview This document explains how to w ...
- ExtJS扩展:扩展grid之toolbar button禁用表达式
在前一篇文章我们扩展了grid通过选中记录数来禁用toolbar上的按钮,有时候我们需要通过记录中的数据来决定是否禁用按钮,今天我们就来扩展它. 照例,最新的代码和例子都在gi ...
- SQL Server数据库镜像的页面自动修复原理
SQL Server数据库镜像的页面自动修复原理 主库页面损坏 镜像库页面损坏 LSN用来保证事务的时序 LSN保存在每个数据页面的页头 在同一台机器,内存中的数据页和磁盘中的数据页保持同步依靠的是数 ...
- 仅此一文让你明白ASP.NET MVC 之Model的呈现(仅此一文系列三)
本文目的 我们来看一个小例子,在一个ASP.NET MVC项目中创建一个控制器Home,只有一个Index: public class HomeController : Controller { pu ...