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. javascript优缺点_为什么要在JavaScript中使用静态类型? 优缺点
  2. Lombok!代码简洁神器还是代码“亚健康”元凶?
  3. Leetcode 剑指 Offer 42. 连续子数组的最大和 (每日一题 20211014)
  4. OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()
  5. 作者:陈威,电子科技大学互联网科学中心硕士生。
  6. 联想小新/YOGA新品发布会官宣:定档10月20日
  7. 剑指offer——7.重建二叉树
  8. 欧洲半导体三巨头的守旧与拓新
  9. 互联网的未来之下:政权 金权 人权 无关平权
  10. 10月2场CMDN Club活动专题、视频、资源分享
  11. su的2019面试准备
  12. php如何验证银行卡号,PHP效验银行卡卡号
  13. JavaScript的BOM(浏览器对象模型)部分知识点与DOM(文档对象模型)
  14. Codeforces 235C Cyclical Quest(后缀自动机)
  15. Windows7下Foxmail不能使用问题解决一例
  16. 腾讯的核心竞争力是什么
  17. pythonocc 等步长平分周长的分割曲线
  18. 限期解除!要跟乱七八糟的口令说拜拜了
  19. 马天宇现场助阵,TCL冰箱洗衣机品牌战略升级
  20. 基于RPD的win多用户同时登陆方法

热门文章

  1. java实现多级菜单(java递归)方法一
  2. 使用Slf4j查看日志输出
  3. Spring Data ElasticSearch删除索引遇到的java.lang.IllegalStateException: Failed to load ApplicationContext异常
  4. Fedora 14 网卡设置
  5. (一四三)类设计回顾
  6. js中document.write()使用方法
  7. 2月上旬全球六大顶级域名最新动态 .COM占73.3%
  8. project-population
  9. CCNA试验-1标准acl
  10. 看来cmwap真的是没有可以使用的邮件客户端了