• 技术文章 >后端开发 >php教程

    php并发对MYSQL造成压力的解决方法_php技巧

    2016-05-17 09:06:24原创405
    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之前怎么维护数据一致性了。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:MYSQL压力
    上一篇:PHP中如何定义和使用常量_php技巧 下一篇:file_get_contents获取不到网页内容的解决方法_php技巧
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• PHP array_multisort()函数的使用札记_PHP• 对text数据类型不支持代码页转换 从: 1252 到: 936_PHP• PHP中文件上传的一个问题_PHP• PHP 图片文件上传实现代码_PHP• php 各种应用乱码问题的解决方法_PHP
    1/1

    PHP中文网