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实现多服务器共享SESSION数据的方法
Mar 16 PHP
PHP中文分词 自动获取关键词介绍
Nov 13 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
Nov 12 PHP
php在线解压ZIP文件的方法
Dec 30 PHP
php生成图片验证码
Jun 09 PHP
thinkphp实现图片上传功能
Jan 13 PHP
PHP实现动态执行代码的方法
Mar 25 PHP
php实现批量修改文件名称的方法
Jul 23 PHP
PHP中类的自动加载的方法
Mar 17 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 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使用数组实现队列
2012/02/05 PHP
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
php自定义apk安装包实例
2014/10/20 PHP
js验证表单第二部分
2006/11/25 Javascript
javascript处理table表格的代码
2010/12/06 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
理解javascript异步编程
2016/01/27 Javascript
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
python实现批量下载新浪博客的方法
2015/06/15 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
对python调用RPC接口的实例详解
2019/01/03 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
python支持多继承吗
2020/06/19 Python
Python Selenium库的基本使用教程
2021/01/04 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
办公室秘书岗位职责范本
2014/02/11 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
PHP实现两种排课方式
2021/06/26 PHP