php并发对MYSQL造成压力的解决方法


Posted in PHP onFebruary 21, 2013

PHP页面有一个浏览量统计每秒有200并发,造成insert给mysql造成很大压力

lnmp环境,其他页面内容都做了缓存了,没有多大的负载,就是这个浏览量统计功能,给mysql带来不小的压力,请问诸位有什么解决办法吗?

怎么都说不要用MySQL来做,每秒200并发对MySQL来说不算啥难事啊。而且换成Redis、Memcached,持久化姑且不说,业务代码和运维部署量都不小。

我给你几个建议,尽量让你的运维部署和业务代码改动小一些。

你可以做主从分离,不要在一个库上高并发插入同时还做大量统计运算。分离之后,查询在从库是做(甚至是导入Hive之类专门的分布式系统来做),主库上可以去掉索引,提升插入的性能。这个方法,业务代码几乎不用任何改动(改个数据库配置文件就好了)。MySQL运维部署也可以选个业务低谷在线做。

如果你可以接受少量业务代码(PHP)改动,还有两个建议:
1. 分库,分表,每个表的数据总量小了,操作起来性能会好一些,特别是对从库的MyISAM表。你插入之前可能会有一些查询,例如查询这个IP在不在库里,以前统计过没。
2. 使用HandlerSocket插件,绕过SQL Parser,直接操作存储文件。如果业务上有可能,还可以使用bulk insert(批量插入)。MySQL InnoDB还推出了类似HandlerSocket的InnoDB NoSQL Plugin,用的memcached协议,共享InnoDB Buffer,再也不用操心MySQL和Memcached之前怎么维护数据一致性了。

PHP 相关文章推荐
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
Jul 09 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
对于PHP 5.4 你必须要知道的
Aug 07 PHP
PHP中的Session对象如何使用
Sep 25 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
PHP 年月日的三级联动实例代码
May 24 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
PHP SESSION机制的理解与实例
Mar 22 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 PHP
php连接mssql数据库的几种方法
Feb 21 #PHP
PHP递归调用的小技巧讲解
Feb 19 #PHP
PHP递归返回值时出现的问题解决办法
Feb 19 #PHP
PHP递归算法的详细示例分析
Feb 19 #PHP
七款最流行的PHP本地服务器分享
Feb 19 #PHP
浅析PHP递归函数返回值使用方法
Feb 18 #PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
Feb 18 #PHP
You might like
PHP 转义使用详解
2013/07/15 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
js自定义select下拉框美化特效
2016/05/12 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
python求素数示例分享
2014/02/16 Python
Python读写unicode文件的方法
2015/07/10 Python
Python处理json字符串转化为字典的简单实现
2016/07/07 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
2019/06/25 Python
python hough变换检测直线的实现方法
2019/07/12 Python
python3.7添加dlib模块的方法
2020/07/01 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
德国帽子专家:Hutshopping
2019/11/03 全球购物
竞争性谈判邀请书
2014/02/06 职场文书
静心口服夜广告词
2014/03/20 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
授权收款委托书
2014/09/23 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
学生逃课检讨书
2015/02/17 职场文书
开学第一周总结
2015/07/16 职场文书
俄罗斯十大城市人口排名,第三首都仅排第六,第二是北方首都
2022/03/20 杂记
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL
LeetCode189轮转数组python示例
2022/08/05 Python