美文网首页
2020-11-07第四天网络IO模型

2020-11-07第四天网络IO模型

作者: 括儿之家 | 来源:发表于2020-11-09 12:00 被阅读0次

daemonize  守护进程化【默认值:0】

设置 daemonize => 1 时,程序将转入后台作为守护进程运行。长时间运行的服务器端程序必须启用此项。

如果不启用守护进程,当 ssh 终端退出后,程序将被终止运行。

提示

启用守护进程后,标准输入和输出会被重定向到 log_file

如果未设置 log_file,将重定向到 /dev/null,所有打印屏幕的信息都会被丢弃

启用守护进程后,CWD(当前目录)环境变量的值会发生变更,相对路径的文件读写会出错。PHP 程序中必须使用绝对路径

systemd

使用 systemd 或者 supervisord 管理 Swoole 服务时,请勿设置 daemonize = 1。主要原因是 systemd 的机制与 init 不同。init 进程的 PID 为 1,程序使用 daemonize 后,会脱离终端,最终被 init 进程托管,与 init 关系变为父子进程关系。

但 systemd 是启动了一个单独的后台进程,自行 fork 管理其他服务进程,因此不需要 daemonize,反而使用了 daemonize = 1 会使得 Swoole 程序与该管理进程失去父子进程关系。


worker_num 设置启动的 Worker 进程数。【默认值:CPU 核数】

如 1 个请求耗时 100ms,要提供 1000QPS 的处理能力,那必须配置 100 个进程或更多。

但开的进程越多,占用的内存就会大大增加,而且进程间切换的开销就会越来越大。所以这里适当即可。不要配置过大。

提示

如果业务代码是全异步 IO 的,这里设置为 CPU 核数的 1-4 倍最合理

如果业务代码为同步 IO,需要根据请求响应时间和系统负载来调整,例如:100-500

默认设置为 swoole_cpu_num(),最大不得超过 swoole_cpu_num() * 1000

假设每个进程占用 40M 内存,100 个进程就需要占用 4G 内存,如何正确查看进程的内存占用


网络Io模型

1阻塞模型

2非阻塞模型

3Io多路复用模型

php 中stream系列函数

stream_socket_server 创建一个socket

stream_socket_accept 用于接收链接

stream_socket_client 用于链接服务端

fread 读取资源信息

fwrite 写入资源信息


套接字


相关文章

  • 2020-11-07第四天网络IO模型

    daemonize[https://wiki.swoole.com/#/server/setting?id=dae...

  • 1.Nette入门第一章——IO演进

    1. IO 基础 1.1. linux网络IO模型 阻塞IO模型 非阻塞IO模型 IO多路复用模型(NIO) 信...

  • 网络IO模型

    网络IO的模型大致包括下面几种 同步模型(synchronous IO)阻塞IO(bloking IO)非阻塞IO...

  • 【Netty开发指南】搭稳Netty开发的地基

    Linux网络编程5种IO模型 根据UNIX网络编程对于IO模型的分类,UNIX提供了5种IO模型,分别是 阻塞I...

  • linux select/epoll

    一、Unix/Linux网络IO模型在经典的Unix网络编程中,总结出了5种不同的网络IO模型,分别是阻塞式IO,...

  • IO 模型实现

    基本 IO 模型 IO 模型 传统的 CS 网络模型 虚线标识网络连接的建立,实线表示链接建立后的请求/响应。 多...

  • 网络io模型

    对于io模型这块内容之前基本完全没有接触过,有了些许了解之后还是很困昏,select、poll、epoll的关系以...

  • 网络IO模型

    文章内容来源于:https://segmentfault.com/a/1190000003063859?utm_s...

  • 网络IO模型

    2. unix网络编程5种IO模型 linux 的内核将所有外部设备都可以看做一个文件来操作,我们对外部设备的操作...

  • 网络IO模型

    什么是同步?A调用B,B完成了所有的操作才返回。什么是阻塞?网络IO读写时,没有数据则会阻塞当前线程,使当前线程为...

网友评论

      本文标题:2020-11-07第四天网络IO模型

      本文链接:https://www.haomeiwen.com/subject/gimqbktx.html