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 相关文章推荐
改变Apache端口等配置修改方法
Jun 05 PHP
php实现文件下载更能介绍
Nov 23 PHP
基于PHP 面向对象之成员方法详解
May 04 PHP
php删除文本文件中重复行的方法
Apr 28 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
php版银联支付接口开发简明教程
Oct 14 PHP
php实现产品加入购物车功能(1)
Jul 23 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
Aug 10 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHP手机短信验证码实现流程详解
May 17 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
ajax在joomla中的原生态应用代码
2012/07/19 PHP
php调用C代码的实现方法
2014/03/11 PHP
php中使用websocket详解
2016/09/23 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
JavaScript类和继承 constructor属性
2010/03/04 Javascript
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
Javascript 基础---Ajax入门必看
2016/07/06 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
canvas绘制爱心的几种方法总结(推荐)
2017/10/31 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
Python匿名函数及应用示例
2019/04/09 Python
python实现数据分析与建模
2019/07/11 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
家得宝加拿大家装网上商店:The Home Depot加拿大
2016/08/27 全球购物
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
监理资料员岗位职责
2014/01/03 职场文书
2014年清明节寄语
2014/04/03 职场文书
审美与表现自我评价
2015/03/09 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
个人工作决心书
2015/09/22 职场文书
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫