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 相关文章推荐
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
Mar 27 PHP
PHP按行读取文件时删除换行符的3种方法
May 04 PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 PHP
纯php生成随机密码
Oct 30 PHP
PHP 极验验证码实例讲解
Sep 29 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
php使用curl实现ftp文件下载功能
May 16 PHP
PHP的PDO连接讲解
Jan 24 PHP
PHP addslashes()函数讲解
Feb 03 PHP
PDO实现学生管理系统
Mar 21 PHP
Swoole源码中如何查询Websocket的连接问题详解
Aug 30 PHP
PHP7 整型处理机制修改
Mar 09 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
用session做客户验证时的注意事项
2006/10/09 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
python检测远程端口是否打开的方法
2015/03/14 Python
详解Python进程间通信之命名管道
2017/08/28 Python
Python3中的json模块使用详解
2018/05/05 Python
pandas通过索引进行排序的示例
2018/11/16 Python
Python 支持向量机分类器的实现
2020/01/15 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
python处理写入数据代码讲解
2020/10/22 Python
python SOCKET编程基础入门
2021/02/27 Python
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
中软国际Java程序员笔试题
2014/07/19 面试题
父亲八十大寿答谢词
2014/01/23 职场文书
故意杀人案辩护词
2015/05/21 职场文书
债务纠纷代理词
2015/05/25 职场文书
2015双创工作总结
2015/07/24 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
Opencv中cv2.floodFill算法的使用
2021/06/18 Python
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL