php
刚刚登录
foo
展开
-
关于websocket 服务的分布式的思考
大型的im系统,最为关键的就是websocket服务和消息存储。websock服务架构:用户的请求通过http发送到负载均衡后,被转移到后台的某台服务器。某台服务器,监听了http请求和tcp请求,http收到消息后,经过逻辑验证后,判断这个ToUser;是否应该自己发送这个消息,如果是,那么就调用client给把消息发给ToUser,...原创 2021-03-28 10:09:47 · 123 阅读 · 0 评论 -
PHP代码片段记录
总结下自己的写的一些个人认为比较好的代码片段1、管道模式1)文件:PipelineInterface.phpinterface PipelineInterface{ public function __construct($payLoad); public function pipe(StageInterface $stage); public function process();}2)文件:StageInterface.phpinterface原创 2021-03-28 10:08:37 · 91 阅读 · 0 评论 -
使用docker搭建一个 lnmp的环境
新公司,使用的php5,但是即将升到7,感觉折腾电脑 环境,觉得还是docker,方便,所有就自己搞。其中踩了很多坑,有好多php5的扩展,现在都找不到了。官网都没得了,比如xcache的等。所以记录下,最终成型的docker-compose文件。一,项目目录其中,config一般放置配置文件,data是挂载的存储目录,php由于其中有很多不常用的扩展,所以新建把dockerfile文件也留着二、前期拉去的一些基础镜像。基础的镜像是:redis:3.2 mysql:5.6 ngin.原创 2020-08-20 10:33:21 · 699 阅读 · 0 评论 -
解决服务器的TIME_WAIT过多的问题
1、项目中的服务器 查看发现有很多redis和数据库的TIME_WAIT;项目中用的是predis,在设置里加入:'connection_persistent'=>true,实测有效。这个参数也要看下服务端的redis的设置是否开启了长连接。2、mysq的TIME_WAIT:在配置中加入'persistent'=> true,...原创 2020-07-16 10:14:43 · 652 阅读 · 0 评论 -
php安装常见模块
一、安装bcmath安装 bcmathadd-apt-repository ppa:ondrej/phpapt updateapt install php7.1-bcmath二、安装swoolewget -chttp://pecl.php.net/get/swoole-4.2.1.tgztar xzvf swoole-4.2.1.tgzcd swoole-4.2....原创 2020-05-08 14:05:07 · 346 阅读 · 0 评论 -
基于nginx+fpm的裸服务器配置优化
高并发越来越多,web服务器压力越来越大,但是,在机器性能为榨干的情况下,有些系统的配置优化后,会提高系统的吞吐能力。这里举例一个基本上裸的服务器,或者说当服务器出现高并发时报错信息了,可以参考如下优化;一、nginx核心参数#启动的work数量,这个最合适的是跟cpu核数相同worker_processes 2;#配置Nginx worker进程最大打开文件数worker_r...原创 2019-08-15 16:32:16 · 271 阅读 · 0 评论 -
减少non-establ的数目
WorkMan:负载二优化参数net.ipv4.tcp_keepalive_time=30net.ipv4.tcp_fin_timeout = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_max_tw_buckets = 4000 net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_syn_re...原创 2019-08-10 18:07:24 · 167 阅读 · 0 评论 -
记一次ip映射以及nginx的正向,反向代理
IP地址映射和nginx的反向代理记录一、问题描述在项目中,遇到了这样一个问题:有四台服务器,分别为:服务器A、服务器B、服务器C,服务器D,他们对应的IP地址举例如下:服务器A:110.110.110.110服务器B:120.120.120.120 内网地址:10.10.10.1服务器C:无外网地址,内网地址为10.10.10.2服务器D:无外网地址,内网地址为10...原创 2019-08-09 23:58:42 · 1682 阅读 · 0 评论 -
EasyWechat报错:Error: Call to undefined function EasyWeChat\Kernel\Support\simplexml_load_string()
环境:ubantu16.0.4 php:php7.1说明:这个就是没有安装xml的扩展方案:apt-get install php7.1-xml注意:如果是7.0,那么iu是 apt-get install php7.0-xml原创 2019-08-13 16:48:07 · 2700 阅读 · 0 评论 -
内核调优
Linux TCP/IP 协议栈调优 转载自https://colobu.com/2014/09/18/linux-tcpip-tuning/最近忙于系统性能的DEBUG和调优。 有些性能瓶颈和Linux的TCP/IP的协议栈的设置有关,所以特别google了一下Linux TCP/IP的协议栈的参数意义和配置,记录一下。如果想永久的保存参数的设置, 可以将参数加入到/etc/sysct...转载 2019-07-09 16:12:46 · 196 阅读 · 0 评论 -
高并发下的第一个参数 backlog相关文章
转载http://i.iivey.com/thread-909-1-1.html2013年12月14发布的PHP5.5.6中, changelog 中有一条变更,FPM:Changed default listen() backlog to 65535.这条改动,是在10月28日改的,patch提交者认为,提高backlog数量,哪怕出现timeout之类错误,也比因为backlog满了之...转载 2019-07-09 16:00:13 · 1230 阅读 · 0 评论 -
yii的comand模式使用composer的问题
yii的web模式,也就是平常说的网页请求如 :www.location/user/login这种就是web模式;而,php /www/wwwroot/yii_customer_kafka/scan/protected/yiic test 这种就是命令行模式特别需要注意的是,这两个模式的环境基本是分开的。不止体现在web模式的配置文件时main.php,而命令行模式的配置文件时cons...原创 2019-03-26 15:14:48 · 125 阅读 · 0 评论 -
yii的curl封装
原文:https://blog.csdn.net/FataliBud/article/details/48344799 Yii框架灵活的扩展受到公司的青睐,所以,项目中使用了yii,为了兼容原来的系统,依然选择了yii1.1的版本。 这里不讲yii的特性,主要说一说使用yii时对curl的再次封装。 先看看yii的配置文件,在main.php中将cur...转载 2019-02-14 15:12:14 · 638 阅读 · 0 评论 -
记录workman和golang的websocket压力测试
公司项目采用php编写,而在websocket这一块一直使用的是workman,由于产品升级,考虑到c端的用户将增多,所以对websocket服务的压力测试迫在眉睫,闲话不表,在这里记录影响websocket并发数的几个问题:1、服务器cpu和内存测试服务器的配置:阿里云ecs 2核心4GB,的配置,根据网上说的一个连接大概20k换算,应该能在几十万,但是实际测试的时候发现cpu和...原创 2018-11-07 21:25:10 · 3097 阅读 · 0 评论 -
PHP-fpm性能调优
注:公司服务器配置:2核心8G设置的参数:php_max_children=1000 tart_servers,min_spare_servers,max_spare_servers分别为400 500 700 感觉还是扛不住php-fpm.conf 重要参数 max_children 和 request_terminate_timeout(转)php-fpm.conf有...转载 2018-10-23 20:03:57 · 548 阅读 · 0 评论 -
php管道模式实现
今天研究laravel的中间件,发现了管道设计模式,正好用于项目的消息阶段。管道模式:对于管道模式来说,有3个对象:管道,载荷,过滤器(阶段,阀门均可)。我们的目的是在管道中对载荷进行一系列的处理。因为可以对过滤器进行动态的添加,所以对载荷的处理可以变得更加灵活。但同时带来的问题是,在过滤器过多时,我们很难把握整体的处理逻辑。而且在某一个过滤器对载荷处理后,因为载荷改变, 会造成下一个过...转载 2018-10-09 22:03:54 · 3289 阅读 · 0 评论 -
php使用 mongodb的过程
项目中要使用mongodb,记录下采坑记录。先说下本人的环境(安装不讲环境就是耍流氓)环境: PHP版本:7.0 系统环境:ubantu14.04一、mongodb的安装。 按照网上的方法,安装了mongodb3.4,具体安装教程,由于之前是写在新浪的。忘了原文出处,此处请原作者谅解1、导入包管理系统使用的公钥sudo apt-key ad...转载 2018-08-03 09:25:40 · 291 阅读 · 0 评论 -
关于php的suepervisorPHP的使用
目前的架构是 服务端 采用python的supervisor,然后客户端采用supervisroPHP来写。一、安装基本包composer require supervisorphp/supervisorcomposer require guzzlehttp/guzzle:~6.0composer require php-http/guzzle6-adaptercomposer requir...原创 2018-02-28 10:45:17 · 145 阅读 · 0 评论