小谈php处理 大并发 大流量 大存储

一.判断大型网站的标准:

1.pv(page views)网页的浏览量:

概念:一个网站所有的页面,在24小时内被访问的总的次数。千万级别,百万级别

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

概念:一个网站,在24小时内,有多少个用户来访问我们的网站,达到10万

3. 独立ip 重点内容

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

uv值约等于独立ip如果要考虑局域网,uv值略大于独立ip

二 大型网站带来的一些问题

1 大的并发。

并发量:在同一时间点(1秒内),有多少个用户同时访问我们的网站。对同一个网址,同时刷新浏览器,。达到500 就非常大了,

假如并发量是500 pv值是多少,500*3600*10

2 大流量

网站需要的大的宽带 10G

3. 大的存储

网站中的数据库,表的容量成海量趋势,GT级别,如何快速的查找处想要的数据。

三  大并发的解决方案:

1.负载均衡器:

硬件:f5-bigip性能比较好,立竿见影,价格昂贵 一般适合于大型网站公司,网游公司。

软件:

lvs(linux virtual server)linux虚拟服务,加入到linux的内核中,

nginx:可以做web服务器(apache),还可以做负载均衡。

2. 负载均衡实现的方式:

主要有:

轮询技术:客户端请求服务器轮流转发。

ip哈希:同一ip地址的客户端,始终请求同一台服务器。

最少链接:把请求转发给最空闲的服务器。

3,集群:

主要是解决计算机单点故障,在一个集群中的计算机,只有一台计算机工作,其他计算机处于休眠状态,监视正在工作的计算机,当正在工作的计算机出现问题,则休眠的计算机立刻接替工作。

四 大流量解决方案:

1、防止我们的网站资源被盗链。

可以采用一些非技术手段防止被盗链,图片上添加水印

2.减少http请求,

只要手段就是合并js文件,css文件,背景图片的文件。将浏览器需要的样式文件或者js文件,合并成一个样式或js文件,比如通过背景图片举个例子。

3. 启用压缩

减少数据传输的数据量,常见的压缩格式是: gzip deflate

4 通过浏览器缓存数据内容,

在网站中有一些资源,比如js文件 css文件一些图片文件,更新的频率比较少,通过这个设置的http的

cache-control expires属性来进行设置缓存,可以设置缓存的文件类型,设置缓存的缓存周期,。

5 可以把比较占用流量的一些资源,单独组建一个服务器,

比如图片服务器,视频服务器等。

五 大存储决绝方案:

1.缓存技术:

通过缓存技术,达到不查询数据库或者少查询数据库的目的。

计算机的访问速度,内存>硬盘文件>数据库

缓存技术主要有:

硬盘缓存(页面静态化),把一个查询数据库的页面变成一个不查询数据库的页面

内存缓存:把经常查询的数据保存到内存里面,下次查询数据时候直接在内存里面查询。

(memcache/redis/mysql的memory引擎)

2.在设计表的时候,要满足3范式

第一范式是: 原子性,字段不能再分割了,只要是关系型数据库就自动满足第一范式:

数据库的分类:

关系型数据库:有行和列的概念,二维表格,常见的关系型数据库:mysql, sql server oracle db2

非关系型数据库(nosql)面向集合和文栋的,没有行和列的概念常见的有redis/mongodb等,

第二范式:在一个表中不能有完全相同的记录,可以通过设置一个主键。

第三范式:表中的字段不能冗存储。

3 要给表添加适当的索引:索引非常重要的,可以提高查询速度。

常见索引有:主键索引, 唯一索引 普通索引, 全文索引

4 要创建适当的存储过程函数 触发器等

5 读写分离(只从服务器)

6 分表技术(垂直分割和水平分割)

7 分区技术

把一个表的数据内容,在不同的区域存储。

8 升级mysql服务器(添加配置:加大内容 64位)

9 要对sql语句进行调优

select * from tablename 该语句不要使用,要按需查询,需要那个字段的数据,就查询那个字段的数据,

10 对配置文件进行优化配置

比如配置mysql数据库的并发量:

php 处理 大并发的更多相关文章

  1. 处理大并发之五 使用libevent利器bufferevent

    转自:http://blog.csdn.net/feitianxuxue/article/details/9386843 处理大并发之五 使用libevent利器bufferevent 首先来翻译一段 ...

  2. ab测试大并发错误

    转载自http://xmarker.blog.163.com/blog/static/226484057201462263815783 apache 自带的ab工具测试,当并发量达到1000多的时候报 ...

  3. 大并发连接的oracle在Linux下内存不足的问题的分析

    大并发连接的oracle在Linux下内存不足的问题的分析 2010-01-28 20:06:21 分类: Oracle 最近一台装有Rhel5.3的40G内存的机器上有一个oracle数据库,数据库 ...

  4. 大并发大数量中的MYSQL瓶颈与NOSQL介绍

    NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面.今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于N ...

  5. 我是如何处理大并发量订单处理的 KafKa部署总结

    今天要介绍的是消息中间件KafKa,应该说是一个很牛的中间件吧,背靠Apache 与很多有名的中间件搭配起来用效果更好哦 ,为什么不用RabbitMQ,因为公司需要它. 网上已经有很多怎么用和用到哪的 ...

  6. 论 大并发 下的 乐观锁定 Redis锁定 和 新时代事务

    在 <企业应用架构模式> 中 提到了 乐观锁定, 用 时间戳 来 判定 交易 是否有效, 避免 传统事务 的 表锁定 造成 的 瓶颈 . 在 现在的 大并发 的 大环境下, 传统事务 及其 ...

  7. 大并发server架构 &amp;&amp; 大型站点架构演变

    server的三条要求: 高性能:对于大量请求,及时高速的响应 高可用:7*24 不间断,出现问题自己主动转移.这叫fail over(故障转移) 伸缩性:使用跨机器的通信(TCP) 另外不论什么网络 ...

  8. 大并发量订单处理的 KafKa部署

    大并发量订单处理的 KafKa部署总结 今天要介绍的是消息中间件KafKa,应该说是一个很牛的中间件吧,背靠Apache 与很多有名的中间件搭配起来用效果更好哦 ,为什么不用RabbitMQ,因为公司 ...

  9. 处理大并发量订单处理的 KafKa部署总结

    处理大并发量订单处理的 KafKa部署总结 今天要介绍的是消息中间件KafKa,应该说是一个很牛的中间件吧,背靠Apache 与很多有名的中间件搭配起来用效果更好哦 ,为什么不用RabbitMQ,因为 ...

  10. YxdIocp包含有支持大并发的TCP服务组件、HTTP服务组件、UDP服务组件、WebSocket服务组件

    Delphi Windows IOCP 通讯模型封装,基于DIOCP.YxdIocp包含有支持大并发的TCP服务组件.HTTP服务组件.UDP服务组件.WebSocket服务组件,和TCP.UDP等基 ...

随机推荐

  1. js 百度地图和谷歌地图的选择

    最近手上接到一个需求: 国外的域名访问,显示谷歌地图 国内的域名访问,显示百度地图 切换中英文的时候,中文->显示百度地图,英文->能显示谷歌地图就显示谷歌地图,不能显示(报错)就显示百度 ...

  2. C++: Mac上安装Boost库并使用CLion开发

    1.下载安装Boost库 官网下载最新版本1.65.0:http://www.boost.org/users/history/version_1_65_0.html 选择UNIX版本: 下载后解压cd ...

  3. java数字金额转中文大写

    package com.example.convert; import java.text.DecimalFormat; import java.util.Scanner; /** * 金额转换 * ...

  4. 使用log4j打印日志

    在项目中我们必不可少需要打印日志,通过日志我们可以查看系统的运行状态是否正常,当程序出现异常的时候,我们也可以通过查看日志来定位问题的位置,给程序员的工作带来了极大的便利. 以下这边博客的内容是我从一 ...

  5. Ubuntu的网络共享

    实际场景 公司项目中遇到一个场景:Ubuntu的主机上装了个4G卡(USB模式),需要将这个4G网共享给一个AP,使得所有连接AP的移动设备都可以通过4G上外网 方法很简单: 1. 将4G网口之外的另 ...

  6. uni-app官方教程学习手记

    本人微信公众号:前端修炼之路,欢迎关注 背景介绍 大概在今年的十月份左右,我了解到Dcloud推出了uni-app.当时下载了一个Hbuilder X,下载了官方提供的hello示例教程.经过一番努力 ...

  7. objectarx之判断给定的三点是否共线

    bool ThreePointIsCollinear(const AcGePoint2d &pt1, const AcGePoint2d &pt2, const AcGePoint2d ...

  8. LeetCode141 Linked List Cycle. LeetCode142 Linked List Cycle II

    链表相关题 141. Linked List Cycle Given a linked list, determine if it has a cycle in it. Follow up:Can y ...

  9. Leetcode744.Find Smallest Letter Greater Than Target寻找比目标字母大的最小字母

    给定一个只包含小写字母的有序数组letters 和一个目标字母 target,寻找有序数组里面比目标字母大的最小字母. 数组里字母的顺序是循环的.举个例子,如果目标字母target = 'z' 并且有 ...

  10. AtCoder Regular Contest 085 C HSI【概率论】

    AtCoder Regular Contest 085 C HSI 没学概率论还不怎么看得懂,虽然感觉不难,其实明明可以猜出来的..... 参考博客:https://www.cnblogs.com/g ...