分享教程
小编已经分享了各种各样的视频教程在文章里了,希望你能发现到。不过有些友友还是希望我推荐一些学习的书籍的,这里刚好有微信内置的一些技术学习书籍的推荐的。感谢大家的支持与信任
这本书我买过,总体上是比较高级,有技巧性的总结的,你想突破自己的话,希望这本书能帮到你!
文章正文
应集团要求给服务号做了个抢单秒杀的功能,需要对秒杀做个测试,想试试PHP多线程,就模拟了下抢单功能。
先说秒杀模块的思路:
正常情况下的用户秒杀操作
1、发起秒杀请求
2、进入秒杀队列
3、随机滞后 1 - 2 秒进行秒杀结果查询请求(算是变相分流吧)
4、成功则生成订单
5、返回结果
以下是模拟秒杀的代码:
执行多线程方法
我们都需要有一个日志还跟踪,这里生成日志信息
发起秒杀请求的方法
最后把整一个类完整文件分享给大家
测试代码机器性能(开发机):
订单代码机器性能(测试机):
系统测试结果:
模拟 1000 并发的情况,单机每秒 300+ 订单,服务器毫无压力。
反倒是测试机受不了了,CPU 飙升 100%。 Apache 偶尔崩溃。
不知道是 PHP 多线程和 Windows 环境的支持不好,还是 PHP 多线程本身的问题,区区 1000 线程跑不动。多线程的地方还是比较需要 Python 和 C 出马。
以上是文章全部内容,有学习与经验交流的可以加PHP自学中心。一起学习,交流与进步!
领取专属 10元无门槛券
私享最新 技术干货