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 和 COM
Oct 09 PHP
PHP4 与 MySQL 交互使用
Oct 09 PHP
基于mysql的论坛(5)
Oct 09 PHP
探讨:使用XMLSerialize 序列化与反序列化
Jun 08 PHP
Yii配置文件用法详解
Dec 04 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 PHP
PHP扩展开发教程(总结)
Nov 04 PHP
PHP MSSQL 分页实例
Apr 13 PHP
通过源码解析Laravel的依赖注入
Jan 22 PHP
PHP封装的非对称加密RSA算法示例
May 28 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 PHP
php去除deprecated的实例方法
Nov 17 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
php中socket的用法详解
2014/10/24 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
js鼠标滑过弹出层的定位IE6bug解决办法
2012/12/26 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
vue form表单post请求结合Servlet实现文件上传功能
2021/01/22 Vue.js
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
Python中threading模块join函数用法实例分析
2015/06/04 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
详解Python 函数如何重载?
2019/04/23 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
美国销售第一的智能手机和平板电脑保护壳:OtterBox
2017/12/21 全球购物
为什么UNION ALL比UNION快
2016/03/17 面试题
大学生标准推荐信范文
2013/11/25 职场文书
物流仓管员工作职责
2014/01/06 职场文书
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
PyTorch的Debug指南
2021/05/07 Python