在执行之前完成php脚本
我正在做一个多人智能手机游戏,我把PHP作为我的后端。当玩家移动时,信息会被发送到执行脚本的PHP脚本,并最终将一些信息发送回智能手机。当很多玩家同时使用atr时(现在我的工作负载是每毫秒2-4个请求),响应时间有点长。。。我的脚本中有大约3-4个不同的SELECT查询和4-5个UPDATE/INSERT查询 我一直在研究存储过程,并考虑使用AJAX,但不确定。我想要完成的是通过在脚本中尽快发送数据,然后在之后执行其余的操作,从而缩短智能手机的响应时间 最好的方法是什么在执行之前完成php脚本,php,mysql,ajax,stored-procedures,Php,Mysql,Ajax,Stored Procedures,我正在做一个多人智能手机游戏,我把PHP作为我的后端。当玩家移动时,信息会被发送到执行脚本的PHP脚本,并最终将一些信息发送回智能手机。当很多玩家同时使用atr时(现在我的工作负载是每毫秒2-4个请求),响应时间有点长。。。我的脚本中有大约3-4个不同的SELECT查询和4-5个UPDATE/INSERT查询 我一直在研究存储过程,并考虑使用AJAX,但不确定。我想要完成的是通过在脚本中尽快发送数据,然后在之后执行其余的操作,从而缩短智能手机的响应时间 最好的方法是什么 提前感谢您的所有建议;-
提前感谢您的所有建议;-) Ajax是一个不错的选择,因为它不会呈现所有页面,也不会执行所有必要的查询 那么,您是否检查了您的查询:是否有所有索引?你有没有避免多次加入
因此,有两种方法:ajax、减少响应传输(使用json和很少的信息是好的)和优化数据库如果您使用PHP作为快速CGI(PHP fpm),那么您可以尝试返回响应并在“后台”中继续编写脚本
请参阅函数fastcgi\u finish\u request“之后执行剩余”什么剩余?了解发送到服务器的数据、返回的数据以及发送回复后要执行的进程可能会有所帮助。这不是正确的方法。您经常使用套接字并保持与播放器的连接处于活动状态(如旧的IRC)。您可以使用php套接字扩展来实现这一点。您可以将其绑定到任何端口(80除外),并侦听用户的请求。请看以下示例: