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并发访问mysql_php并发对MYSQL造成压力的解决方法_PHP相关推荐

  1. 远程连接mysql速度慢的解决方法

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS ...

  2. 远程连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOW ...

  3. Can't connect to MySQL server (10060)异常解决方法

    Can't connect to MySQL server (10060)异常解决方法 出现这种现象的原因有两个,一个是当前用户被mysql服务器拒绝,另外一个原因是3306端口被被防火墙禁掉,无法连 ...

  4. Navicat无法远程连接MySql服务器问题的解决方法

    Navicat无法远程连接MySql服务器问题的解决方法 写在前面: 操作系统:银河麒麟4.0: 数据库:MySQL5.7.26: JDK:采用银河麒麟系统自带的openjdk: 客户端工具:Navi ...

  5. MySQL 1045登录失败解决方法

    MySQL 1045登录失败解决方法 登录MySQL数据库出现:Error 1045错误,输入的用户名或密码错误被拒绝访问了 Error 1045错误: ERROR 1045 (28000): Acc ...

  6. MYSQL转换编码的解决方法

    MYSQL转换编码的解决方法 一.在utf8的mysql下 得到中文'游客'的gbk下的16进制编码 mysql> SELECT hex(CONVERT( '游客' USING gbk )); ...

  7. mysql 查询rowno_C# Mysql 查询 Rownum的解决方法

    C# Mysql 查询 Rownum的解决方法,需要的朋友可以参考一下 Sql: 代码如下: SELECT @rownum:=@rownum+1 AS rownum, a.order_id , cas ...

  8. 错误:“Cannot load JDBC driver class ‘com.mysql.jdbc.Driver”的解决方法

    错误:"Cannot load JDBC driver class 'com.mysql.jdbc.Driver"的解决方法 参考文章: (1)错误:"Cannot lo ...

  9. can t connect to mysql server on ‘localhost‘解决方法

    can t connect to mysql server on 'localhost'解决方法 参考文章: (1)can t connect to mysql server on 'localhos ...

最新文章

  1. centos7 系统下搭建 lnmp 环境
  2. linux shell 提示 bash: no job control in this shell
  3. mysql 使用中 修复 blog_Java My-Blog之mysql容器重复初始化严重bug修复过程
  4. 求n个数的最大公因数和最小公倍数(c)
  5. 大连海事大学计算机调剂,大连海事大学2017年考研调剂信息
  6. 程序员面试100题之十五:数组分割
  7. oracle数据库表的导入导出cmd命令大全
  8. linux7启动某个服务器,如何在单用户模式下启动RHEL 7 CentOS 7服务器
  9. vba 跳到下一个循环_遍历工作薄和工作表(For Each循环的利用)
  10. linux mono apache2,如何利用Mono创建Apache+mono环境(2)
  11. 09 - java 包命名规范
  12. 作为深度学习最强框架的TensorFlow如何进行时序预测!(转)
  13. 【luogu3834】【模板】可持久化线段树 2(主席树),静态区间第K小值
  14. “4K”也有真假说法?历数那些年被忽悠的参数
  15. PyTorch:模型训练-分布式训练
  16. (第十一周)俄罗斯方块测试报告
  17. Seaweedfs的安装和使用
  18. cad延伸命令怎么用_原来我们都用错了CAD直线命令,你不能忽视的CAD直线绘制技巧详解...
  19. m4s格式转换mp3_mp3文件怎么转换格式
  20. c++国际象棋上的麦粒

热门文章

  1. Vue 响应式原理(双向数据绑定) 怎样实现 响应式原理?
  2. android点击按钮底部暗影,android – 圆形按钮,像5.0 FAB一样的阴影
  3. 得到频域波形的坐标数组_10. 频域法之序
  4. Science上发表的超赞聚类算法
  5. 基于matlab/simulink的双电机速度跟踪伺服系统仿真,基于MatlabSimulink的伺服系统仿真pdf.doc...
  6. Android 图片放大缩小
  7. 深层学习:心智如何超越经验2.4 前景
  8. Lucene系列:(9)搜索结果排序
  9. PC远程调试移动设备
  10. hadoop常见错误即解决方法