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 strtotime函数详解
Dec 18 PHP
php 获取一个月第一天与最后一天的代码
May 16 PHP
JpGraph php柱状图使用介绍
Aug 23 PHP
php实现cookie加密的方法
Mar 10 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
Sep 23 PHP
php查询及多条件查询
Feb 26 PHP
PHP实现微信对账单处理
Oct 01 PHP
PHP精确到毫秒秒杀倒计时实例详解
Mar 14 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 PHP
php去除deprecated的实例方法
Nov 17 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动态页生成静态页的3种常用方法
2014/11/13 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
JSQL SQLProxy 的 php 版本代码
2010/05/05 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
在vue中使用css modules替代scroped的方法
2018/03/10 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
python实现树形打印目录结构
2018/03/29 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
城建学院毕业生自荐信
2014/01/31 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python