zoukankan      html  css  js  c++  java
  • 网站优化

    一、判断大型网站的标准

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

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

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

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

    3、独立 ip

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

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

    图片1

     

     

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

    1、高的并发量。

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

    2、大的流量(带宽)

    带宽需求变大。

    3、数据存储的问题。

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

    三、高并发如何解决:

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

    四、如何解决大流量

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

    2、减少了http请求,

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

    3、配置浏览器缓存

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

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

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

    6、花钱买带宽。

    五、大存储的解决方案:

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

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

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

    2)内存缓存

    内存缓存技术:

    memcache,redis,mongodb,mysqlmemory存储引擎

    2、优化数据库

    六、页面静态化技术

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

    实现步骤;

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

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

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

    3)直接访问html文件。

    1ob缓存内容:

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

    如何开启:

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

    图片2

     

    第二种方式:在页面中使用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缓存技术。

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

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

    哪些网站适合于真静态?

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

  • 相关阅读:
    Git远程库版本回滚
    微软Connect(); 2017大会梳理:Azure、数据、AI开发工具
    【实验手册】使用Visual Studio Code 开发.NET Core应用程序
    Ocelot API网关的实现剖析
    微软Tech Summit 2017,等你来打Call
    “.Net 社区大会”(dotnetConf) 2017 Day 1 Keynote: .NET Everywhere
    .NET平台微服务项目汇集
    .Net Core下通过Proxy 模式 使用 WCF
    .NET Core 2.0 正式发布信息汇总
    Visual Studio 2017 : client version 1.22 is too old
  • 原文地址:https://www.cnblogs.com/wepe/p/7424623.html
Copyright © 2011-2022 走看看