• 大型网站提速关键技术(页面静态化,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采用怎样的方式来处理并发.), 主要有三种方式:

    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

    如果我们给图片或者视频取名字,尽量简短.

  • 相关阅读:
    asp.net 文件下载
    net 数据库连接详解 相当经典啊
    取值:webconfig中的key
    通过监听的端口查找本机进程和服务思路
    以系统服务运行某个程序
    测底根除Windows流氓软件开机自动运行
    使用Wireshark在主机上抓取远程主机的数据流量
    记录Windows远程登录日志
    证书不匹配发出告警的解决方法
    WPS office云同步图标彻底删除方法
  • 原文地址:https://www.cnblogs.com/Steven-shi/p/5131271.html
Copyright © 2020-2023  润新知