大型网站及面临的问题及解决方法
首页->学习资料->编程语言->php教程->大型网站技术 关键词: 发布时间:2016-02-28 12:19:40 浏览次数:1721

大型网站判断标准,其实并没有一个标准:

24小时内:

1、pv百万级及以上

2、uv十万以上

3、IP十万以上


面临的问题:

1、大并发(大访问量,同一时间访问人数多)

2、大流量(视频网站,下载网站,高清图网站,网络带宽要求高,带宽以G记)

3、大存储(数据库数据量大,一个表大到上T,还有图片等数据的存储问题)


常见的解决方案:

1、大并发的解决方案:网站架构重整,使用分层结构,使用负载均衡器(big-ip、f5、net-scaler,价格贵,可以用lvs虚拟,linux virtual server的简称,还可以使用ngix)及集群,这可以解决web服务器面临的大并发问题;然后使用多台数据库服务器,让他们之间实现读写分离(主数据库负责写insert,update,delete,从数据库负责select),实现数据库的负载均衡;

2、大流量解决方法:

2.1、图片、视频等进行压缩,尽可能小;

2.2、尽可能使用repeat的背景图;

2.3、对apache进行配置,对传输的数据进行压缩;

2.4、多个服务器分开存储,减轻压力;


3、大存储解决方法:

3.1、页面静态化(减少或者不对数据库进行操作)

3.2、缓存技术(redis,memcache,数据库的memory存储引擎myisam,inodb..)

3.3、合理的数据表设计,并建立适当的索引、视图、存储过程、触发器、函数;

3.4、分表技术(水平分表、垂直分表),分区技术(从物理上把数据分配到不同的磁盘空间);

3.5、保证磁盘的空闲率,保证50%左右(如:共50G则要保证有25G左右的空闲),磁盘太满影响系统运行速度;

3.6、读写分离

3.7、程序中的sql语句优化;

3.8、忧化my.ini中的配置;

3.9、硬件升级(尽可能使用64位,多cpu的服务器)


tips:

1、ngix反向代理(可以管理多个apache服务器,实现负载均衡)

2、apache的默认并发数是150,单apache服务器理论上最大值约可同时支撑6万个左右的并发,但实际上往往几千个就扛不住了;

3、mysql在默认情况下能处理的并发数为100(my.ini中的max_connections处设置,如果要调大,也要调大对应apache默认并发数,两者重启后才可生效,一般最大几千左右),如果超出将处于排除等待;

4、在网站对数据库的操作中,约80%以上为读(select)操作,写操作约占20%左右(insert,update,delete)

5、集群:解决单点故障恢复(冗余技术,说简单点就是搞一个或多个备用服务器侯着,如果他监控的那个激活的服务器挂了他就激活补上);

6、负载均衡实现的方法:

6.1、轮询技术(nat网络地址转换,详细看百度百科http://baike.baidu.com/link?url=NJCesB93xj-coxf91oPnDwMGS9Pr29OA7ioamtcH47DOkWR0yLIzw5jBy03docT2pTz6CQhG1DowtrLGZq_Pwq)

6.2、直接路由(DR技术);

7、操作速度上:内存 > 文件 >数据库



赞:(0)
踩:(0)
相关文章
网页静态化
thinkphp网页静态化
sphinx全文索引
高并发时表锁与文件锁
海量订单数据存储方法
高并发时商品库存处理方法
高并发测试及系统状态监测
PHP解决抢购、秒杀、抢楼、抽奖等
php多线程例子
php上传到七牛
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
centos7.4 64位下swoole安装及配置
laravel页面静态化的方法
navicate连接mycat报1184错误
单点登录sso原理及php实现方式及de
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:607篇
浏览数:935521
粤ICP备18028092号-1  微信:hurong241