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 rewrite_module模块使用教程
Jan 10 PHP
shopex中集成的站长统计功能的代码简单分析
Aug 11 PHP
用PHP写的基于Memcache的Queue实现代码
Nov 27 PHP
PHP随机生成随机个数的字母组合示例
Jan 14 PHP
PHP屏蔽过滤指定关键字的方法
Nov 03 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
PHP内存使用情况如何获取
Oct 10 PHP
php抓取并保存网站图片的实现代码
Oct 28 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
Dec 11 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
PHP递归实现汉诺塔问题的方法示例
Nov 25 PHP
php优化查询foreach代码实例讲解
Mar 24 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 GeoIP的使用教程
2011/03/09 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
支付宝接口开发集成支付环境小结
2015/03/17 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
JavaScript内核之基本概念
2011/10/21 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
Bootstrap栅格系统简单实现代码
2017/03/06 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
python数据结构之线性表的顺序存储结构
2018/09/28 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
Python分布式进程中你会遇到的问题解析
2019/05/28 Python
python pytest进阶之xunit fixture详解
2019/06/27 Python
python实现高斯投影正反算方式
2020/01/17 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
应聘医药代表职位求职信
2013/10/21 职场文书
实习鉴定范文
2013/12/19 职场文书
梅花魂教学反思
2014/04/25 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
安全教育培训心得体会
2016/01/15 职场文书