ITPub博客

首页 > 移动开发 > 移动测试 > PHP直播平台源码服务器并发模型

PHP直播平台源码服务器并发模型

原创 移动测试 作者:五花肉爱源码 时间:2020-06-09 17:08:35 0 删除 编辑

在编写服务器端程序时,大部分的程序都是会同时处理多个请求,这也是因为 PHP直播平台源码 的用户访问量在同一时间会增多的原因。在请求处理过程中,往往还会碰到等待、堵塞等情况,如果按照顺序一个一个处理请求,那么空间等待的时间将白白浪费,造成用户响应延时增加,降低整个系统的吞吐量。

在如何同时处理多个请求的问题上,一种是采用多线程,一种是采用异步。早期 PHP 直播平台源码 中最常用的技术是多线程,这种技术代码编写起来比较简单,每个线程中的代码都是按先后顺序执行,由于同时运行着多个线程,所以无法保证多个线程之间代码的先后顺序,这导致了多线程下,数据锁造成了线程死锁。

经过对比后,现在异步回调比多线程更加适用,除能解决多线程的死锁问题外,异步还能解决多线程下反复切换导致不必要的开销问题,每个线程都需要一个独立的栈空间,多线程并行运行时,栈数据需要来回拷贝,造成了额外 CPU 的消耗。由于每个线程需要占用栈空间,所以大量线程存在的时候,内存消耗也是巨大的。

异步回调基于非阻塞的I/O 操作,节省了在调用读写函数时对“卡”的调用,而是会立刻反馈有无数据结果。而 Linux 的 epoll 技术,则利用底层内核的机制,满足快速查找数据读写的连接 / 文件。

由于PHP 直播平台源码中每个操作都是非阻塞的,所以我们的程序可以只用一个进程就可以处理大量并发请求,因为只有一个进程,所以所有的数据处理顺序都是固定的,不会出现在多线程中,异步非阻塞的技术大大简化了开发过程。

单一服务器的服务方式满足不了PHP 直播平台源码的用户需求,太过庞大的流量需要多个服务器同时工作解决,因此在选择服务器时,最好可以选择某个服务器集群,作为解决用户需求的保障。

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69907981/viewspace-2697226/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论
不定时分享文章内容 文笔还有待提高~

注册时间:2019-01-18

  • 博文量
    24
  • 访问量
    20936