分类:PHP

PHP管道通信

PHP管道通信
项目所有源码可在https://github.com/huyanping/simple-fork-php找到。simple-fork-php是php多进程编程框架,以下实现的管道队列为框架的一部分。 管道是IPC(进程通信)最古老的的形式;像在shell中我们使用的ls | wc...

Jenner 2年前 (2015-11-25) 8882℃ 4评论 14喜欢

php-affinity:修改php进程cpu亲和性

php-affinity:修改php进程cpu亲和性
通过设置cpu亲和性,可以将进程绑定到一个cpu核心上。一般在如下场景我们可能会希望修改进程的cpu亲和性: 频繁的并行运算 线程可伸缩性测试(通过增加cpu核心数量模拟线性扩展) 运行时间敏感的,决定性的进程 向nginx,swoole等开源软件,都提供了设置cpu亲和性的...

Jenner 2年前 (2015-11-23) 8619℃ 2评论 4喜欢

多进程共用mysql链接引发的一个问题

多进程共用mysql链接引发的一个问题
我们知道,每次fork操作系统都会复制进程的所有信息产生一个子进程(部分写时复制),其中就包括socket链接资源符。每个进程在PCB(Process Control Block)中都保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针,现在我...

Jenner 2年前 (2015-10-16) 9058℃ 1评论 4喜欢

PHP异步编程简述

PHP异步编程简述
概述 异步编程,我们从字面上理解,可以理解为代码非同步执行的。异步编程可以归结为四种模式:回调、事件监听、发布/订阅、promise模式。我们最熟悉的两种模式是回调和事件监听,举两个最简单的javascript例子,一个ajax,一个点击事件的绑定: $.getJSON("uri...

Jenner 2年前 (2015-10-13) 10120℃ 2评论 16喜欢

基于CURL_MULTI*系列函数的异步HTTP客户端

基于CURL_MULTI*系列函数的异步HTTP客户端
同步与异步 首先我们先通过一段简单的代码理解下什么是异步编程,再讲解如何使用异步HTTP客户端。 一般情况下,我们执行HTTP请求类似如下: $result = $http->get($url, $params); 如果我们有多个HTTP请求要执行,类似如下: $resul...

Jenner 2年前 (2015-09-25) 9014℃ 6评论 0喜欢

递归与循环

递归与循环
递归与循环 大一学C++的时候,老师说过递归与循环是可以相互转化的,当时好像是用来两重循环解决递归问题,算法的复杂度依然是O(n)。最近发现可以通过模拟实现栈结构通过一重循环实现非递归算法。 递归必须满足以下两个条件: 在每一次调用自己时,必须是(在某种意义上)更接近于解; 必...

Jenner 2年前 (2015-09-06) 8906℃ 0评论 12喜欢

wordpress全栈优化

wordpress全栈优化
从最开始计算,《始终不够》个人博客上线已经有两年多了。从最开始就是使用的wordpress,最初为了丰富站内功能,使用了一箩筐的插件,首页加载基本在10s以上,期间使用xhprof做过几次优化,都不是很理想。最近抽出时间整体做了一次性能优化。首页响应时间从1s减少到20ms,并发...

Jenner 2年前 (2015-09-06) 9017℃ 2评论 8喜欢

SimpleFork php多进程并发框架

SimpleFork php多进程并发框架
SimpleFork 项目地址:https://github.com/huyanping/simple-fork-php 基于PCNTL扩展的多进程进程并发框架,接口类似与Java的Thread和Runnable 为什么要写SimpleFork 多进程...

Jenner 2年前 (2015-08-19) 9334℃ 0评论 7喜欢

简易HTTP协议解析

简易HTTP协议解析
       首先介绍一些必要的知识点。        TCP协议为操作系统底层协议,能够保证应用层获取到完整的、顺序一直的包序列。但TCP不提供具体的分包,需要上层协议自己解决。TCP发送...

Jenner 2年前 (2015-08-11) 9896℃ 0评论 3喜欢