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 短链接算法收集与分析
Dec 30 PHP
改写函数实现PHP二维/三维数组转字符串
Sep 13 PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 PHP
PHP判断变量是否为0的方法
Feb 08 PHP
理解PHP中的stdClass类
Apr 18 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
php微信支付之APP支付方法
Mar 04 PHP
PHP 实现的将图片转换为TXT
Oct 21 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 PHP
CI框架实现优化文件上传及多文件上传的方法
Jan 04 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
PHP实现带进度条的Ajax文件上传功能示例
Jul 02 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 表单提交给自己
2008/07/24 PHP
php 删除一个数组中的某个值.兼容多维数组!
2012/02/18 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
2019/06/25 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
2019/05/01 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
总结Python编程中函数的使用要点
2016/03/20 Python
Python中pillow知识点学习
2018/04/30 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
python高阶爬虫实战分析
2018/07/29 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
python SVD压缩图像的实现代码
2019/11/05 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
Django如何重置migration的几种情景
2021/02/24 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
仓库文员岗位职责
2014/04/06 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
python绘制云雨图raincloud plot
2022/08/05 Python