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 相关文章推荐
在PHP中使用XML
Oct 09 PHP
拼音码表的生成
Oct 09 PHP
PHP JSON 数据解析代码
May 26 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
Aug 21 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
php在线解压ZIP文件的方法
Dec 30 PHP
php使用MySQL保存session会话的方法
Jun 18 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
Nov 24 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 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
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
php图片裁剪函数
2018/10/31 PHP
php无限极分类实现方法分析
2019/07/04 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
详解python itertools功能
2020/02/07 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
打架检讨书100字
2014/01/08 职场文书
老公给老婆的道歉信
2014/01/10 职场文书
业务部主管岗位职责
2014/01/29 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
小学信息技术教学反思
2016/02/16 职场文书