如何有效解决注册并发问题,显著提升QPS?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2805个文字,预计阅读时间需要12分钟。
前言:本地Windows系统通过Apache的ab工具测试600并发下的性能,查询指定手机是否存在的注册功能会出现重复提交的情况,并且在注册完成时还需要对请求人进行奖励,记录。
测试发现:
1.在600并发测试下,注册功能存在重复提交问题。
2.注册成功后,系统自动对请求人进行奖励并记录。
前言:前面在本地的windows通过apache的ab工具测试了600并发下“查询指定手机是否存在再提交数据”的注册功能会出现重复提交的情况,并且在注册完成时还需要对邀请人进行奖励,记录邀请记录,对该新用户自动发布动态信息,发短信或发邮件等其他业务功能。所以这里当并发时,注册功能就变得低效且容易出现问题。
方法:先对重复提交的问题通过redis解决,再把注册储存用户基本信息以后的操作放到队列中进行异步执行,可以很好的优化注册功能,提高QPS。
一、环境要求
- PHP版本 >= 5.6.0
- PHP框架:Thinkphp5.1.*
- 消息队列:Think-queue2.0
- PHP扩展:Redis
二、下载框架和消息队列中间件
1. 下载tp5.1。
composer create-project topthink/think=5.1.* tp5 --prefer-dist
2. 安装think-queue。
composer require topthink/think-queue
3. php安装redis扩展和打开redis服务端和客户端。
本文共计2805个文字,预计阅读时间需要12分钟。
前言:本地Windows系统通过Apache的ab工具测试600并发下的性能,查询指定手机是否存在的注册功能会出现重复提交的情况,并且在注册完成时还需要对请求人进行奖励,记录。
测试发现:
1.在600并发测试下,注册功能存在重复提交问题。
2.注册成功后,系统自动对请求人进行奖励并记录。
前言:前面在本地的windows通过apache的ab工具测试了600并发下“查询指定手机是否存在再提交数据”的注册功能会出现重复提交的情况,并且在注册完成时还需要对邀请人进行奖励,记录邀请记录,对该新用户自动发布动态信息,发短信或发邮件等其他业务功能。所以这里当并发时,注册功能就变得低效且容易出现问题。
方法:先对重复提交的问题通过redis解决,再把注册储存用户基本信息以后的操作放到队列中进行异步执行,可以很好的优化注册功能,提高QPS。
一、环境要求
- PHP版本 >= 5.6.0
- PHP框架:Thinkphp5.1.*
- 消息队列:Think-queue2.0
- PHP扩展:Redis
二、下载框架和消息队列中间件
1. 下载tp5.1。
composer create-project topthink/think=5.1.* tp5 --prefer-dist
2. 安装think-queue。
composer require topthink/think-queue
3. php安装redis扩展和打开redis服务端和客户端。

