在某些情况下,如系统负载过大swoole无法申请到内存而挂掉、swoole底层发生段错误、Server占用内存过大被内核Kill,或者被某些程序误杀。那swoole-server将无法提供服务,导致业务中断,公司收入出现损失。 有一个非常有效并且在BAT等大型公司常用的方案是crontab重启监控。 ...
分类:
其他好文 时间:
2020-07-24 16:24:20
阅读次数:
93
一、安装swoole下载地址:https://github.com/swoole/swoole-src/releases/tag/1.8.12-stable下载压缩包,上传到服务器(测试centos),解压缩cdswoole-src-1.8.7-stablephpize(phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块)./configuremake&&mak..
分类:
Web程序 时间:
2016-10-21 01:57:30
阅读次数:
649
环境说明: 系统:Ubuntu14.04 (安装教程包括CentOS6.5)
PHP版本:PHP-5.5.10
swoole版本:1.7.8-alpha
1.为什么要提供自定义协议
熟悉TCP通信的朋友都会知道,TCP是一个流式协议。客户端向服务器发送的一段数据,可能并不会被服务器一次就完整的收到;客户端向服务器发送的多段数据,可能服务器一次就收到了全部的数据。而实际应用中...
分类:
其他好文 时间:
2014-11-08 15:15:33
阅读次数:
162
swoole版本:1.7.7-stable Github地址:点此查看
1.Timer
1.1.swTimer_interval_node
声明:
// swoole.h 1045-1050h
typedef struct _swTimer_interval_node
{
struct _swTimerList_node *next, *prev;
st...
分类:
其他好文 时间:
2014-11-06 10:59:55
阅读次数:
293
swoole版本:1.7.6-stable
上一章已经分析了如何启动swServer的相关函数。本章将继续分析swServer的相关函数,
1.swServer函数分析
swServer_addListener
该函数用于在swServer中添加一个需要监听的host及port。函数原型如下:
// Server.h 438h
int swServer_addLi...
分类:
其他好文 时间:
2014-10-29 00:30:03
阅读次数:
388
写在前面的废话
《swoole源码分析》已经写了13章,整个swoole的核心架构基本都分析的差不多了。于是心里一直以来想整理swoole的文档并写一份教程的想法就再度浮了出来。实话说,我接触swoole乃至接触PHP都仅有9个月的时间,而自7月份以来一直在公司做Android开发,也有没有了使用swoole的机会。所以,现在我只能写出一份入门级教程,帮助刚刚接触swoole的人理解和使用s...
分类:
其他好文 时间:
2014-10-19 17:08:22
阅读次数:
495
终于可以正式进入Server.c模块了…… 在之前的分析中,可以看到很多相关模块的声明都已经写在了Server.h中,就是因为这些模块构成了Server的核心部分。而Server本身,则是一个最上层的对象,它包括了核心的Reactor和Factory模块,存放了消息队列的key值,控制着全部的Connection,所有PHP层面的回调函数也在这里指定;同时,Server存放了大量的属性值,这些值决...
分类:
其他好文 时间:
2014-10-16 16:53:33
阅读次数:
527
ReactorThread
这一章将分析Swoole的ReactorThread模块。虽然叫Thread,但是实际上使用的是swFactoryProcess也就是多进程模式。但是,在ReactorThread中,所有的事件监听是在线程中运行的(Rango只是简单提到了PHP不支持多线程安全,具体原因还有待请教……),比如在UDP模式下,是针对每一个监听的host开辟一个线程运行reactor...
分类:
其他好文 时间:
2014-09-29 15:26:21
阅读次数:
577
Swoole版本:1.7.5-stable
本章将分析Swoole中的三个比较重要的模块,Worker,ReactorProcess和Connection。其中Worker和ReactorProcess其实是对前面三章的一个补充,在前面的章节中为了分析结果的流畅性没有针对这些模块做特定分析,在此做出补充。
Worker模块
首先是Worker模块。Worker在Swoole中为核心工作...
分类:
其他好文 时间:
2014-09-22 15:18:12
阅读次数:
353
Swoole版本:1.7.5-stable
本章将分析FactoryProcess.c中剩下的函数,这些函数用于操作worker、manager以及writer。这些函数提供了最核心的进程创建、管理等功能,是Swoole的master-worker结构的基石。
先从worker相关的函数开始(manager相关函数基本都涉及操作worker进程)。在FactoryProcess.c中一共...
分类:
其他好文 时间:
2014-09-17 18:48:32
阅读次数:
476