一:页面静态化

几个概念:

静态网址:(比如: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采用怎样的方式来处理并发.), 主要有三种方式:

  1. perfork 预处理进程方式
  2. worker 工作模式
  3. 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优化)(二)的更多相关文章

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

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

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

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

  3. 利用ResultFilter实现asp.net mvc 页面静态化

    为了提高网站性能.和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式. 实现原理是通过mvc提供的过滤器扩展点实现页面内容 ...

  4. 利用ResultFilter实现asp.net mvc3 页面静态化

    为了提高网站性能.和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式. 实现原理是通过mvc提供的过滤器扩展点实现页面内容 ...

  5. 六、smarty-缓存控制前的页面静态化原理

    页面静态化可以实现优化服务,对大流量访问网站非常至关重要 为什么页面静态化, 1.  不去执行数据库连接 2.  不去执行SQL语句 设置按时间更新, 1.  按时间更新,如果缓存文件设置1小时 如下 ...

  6. 各种系统性能优化技术,采用vilocity实现商品页面静态化

    1.大型门户网站系统:>10万的访问量   行业网站(当当网,卓越网):20万-30万,一个小时内会跟数据库的交互至少20万-30万,会产生数据库瓶颈,每个数据库都有一个最大连接数(socket ...

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

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

  8. Django框架开发web网站的网页优化—页面静态化

    网站优化-页面静态化 1)概念 提前将页面所用到的数据从数据库查询出来,然后生成一个静态页面,之后用户来访问的时候,直接返回静态页面. 举例:首页静态化:获取首页用到的数据表中的数据,生成静态首页in ...

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

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

随机推荐

  1. TP5验证规则使用

    定义验证器类: namespace app\index\validate; use think\Validate; class User extends Validate { protected $r ...

  2. 手把手教android studio中安装Android Butterknife Zelezny (转)

    原文地址:http://blog.csdn.net/xin917480852/article/details/51176524 用来快速生成findViewById() 安装方法: 打开Android ...

  3. 安装windows server 2012 r2 的那点事儿

    windows server 2012 r2 安装无法找到install.wim 错误代码0x80070026,以及制作U启动盘决解ISO文件超过5G大小限制的解决方案 用UltaISO刻录后,sou ...

  4. C语言中的插入排序(2016-12-30)

    直接插入排序: 算法思想:假设待排序的记录存放在数组R[1--n]中,初始时,i=1,R[1]自成一个有序区,无序区为R[2--n].然后从i=2起直到i=n,依次将R[i]插入当前的有序区R[1.. ...

  5. Response.StatusCode的HTTP状态代码列表

    1xx - 信息提示这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应. · 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分.( ...

  6. 字符串混淆技术应用 设计一个字符串混淆程序 可混淆.NET程序集中的字符串

    关于字符串的研究,目前已经有两篇. 原理篇:字符串混淆技术在.NET程序保护中的应用及如何解密被混淆的字符串  实践篇:字符串反混淆实战 Dotfuscator 4.9 字符串加密技术应对策略 今天来 ...

  7. 浅谈Android应用保护(一):Android应用逆向的基本方法

    对于未进行保护的Android应用,有很多方法和思路对其进行逆向分析和攻击.使用一些基本的方法,就可以打破对应用安全非常重要的机密性和完整性,实现获取其内部代码.数据,修改其代码逻辑和机制等操作.这篇 ...

  8. 移动端手势库hammerJS 2.0.4官方文档翻译

    hammerJS是一个优秀的.轻量级的触屏设备手势库,现在已经更新到2.04版本,跟1.0版本有点天壤地别了,毕竟改写了事件名并新增了许多方法,允许同时监听多个手势.自定义识别器,也可以识别滑动方向. ...

  9. Android知识杂记(四)

    1.完整退出activity的设计思路 1.1 封装一个基础activity类 public abstract class RootActivity extends FragmentActivity{ ...

  10. Lesson 10 Not for jazz

    Text We have an old musical instrument. It is called a clavichord. It was made in Germany in 1681. O ...