1. 同步与异步同步与异步的重点在消息通知的方式上,也就是调用结果通知的方式。 同步:当一个同步调用发出去后,调用者要一直等待调用结果的通知后,才能进行后续的执行。 异步:当一个异步调用发出去后,调用者不能立即得到调用结果的返回。 异步调用,要想获得结果,一般有两种方式:主动轮询异步调用的结果;被调用方通过callback来通知调用方调用结果。阻塞和非阻塞阻塞与非阻塞的重点在于进/线程等待消息时候
转载 2024-07-02 07:47:05
71阅读
借用"OpenResty最佳实践"的话 https://moonbingbing.gitbooks.io/openresty-best-practices/ngx_lua/block_io.htmlNginx 为了减少系统上下文切换,它的 worker 是用单进程单线程设计的,事实证明这种做法运行效率很高。Nginx 要么是在等待网络讯号,要么就是在处理业务(请求数据解析、过滤、内容应答等),没有
转载 2024-03-14 08:06:53
62阅读
前言因为项目涉及到 Nginx 一些公共模块的使用,而且也想对惊群效应有个深入的了解,在整理了网上资料以及实践后,记录成文章以便大家复习巩固。结论不管还是多进程还是多线程,都存在惊群效应,本篇文章使用多进程分析。在 Linux2.6 版本之后,已经解决了系统调用 accept 的惊群效应(前提是没有使用 select、poll、epoll 等事件机制)。目前 Linux 已经部分解决了 epoll
nginx原理解析安装环境准备模块epool如何高效常用场景配置案例动静分离实现防盗链多域名站点下载限速IP 黑名单基于user-agent分流日志配置反向代理基本配置正向代理的概念反向代理的概念区别Nginx代理基本配置负载均衡配置与参数解析upstream 负载均衡算法高速缓存静态缓存基本配置指定缓存区缓存生效过程缓存的清除性能参数调优worker_processes number;每个wo
一、Nginx概念讲解Nginx是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾
转载 2024-04-11 10:58:17
40阅读
网关 zuul 线程阻塞分析本文基于一个线上真实问题。在 Zuul 无任何安全防护措施时,若遇到较大流量(单个Zuul应用在默认配置下200并发即可),将产生非常严重的后果。本文主要是探寻下问题产生的原因,问题背景与处理先简述下问题背景网络拓扑:请求 -> nginx -> 容器编排工具的LB(Haproxy) -> 网关(Zuul) -> 具体服务现象:某服务突然无法访问
转载 2024-05-03 14:51:09
81阅读
Nginx使用epoll运行事件驱动框架        Nginx请求切换:       传统请求切换的缺点:不做连接切换,以来OS的进程调度实现并发;每做一次切换,都要消耗一定时间(≈5ms),随着并发进程数量的增加,进程间的消耗是指数增加的;因此比较适用于少量进程的情景;      &
转载 2024-04-06 10:53:03
27阅读
 Nginx常见的问题1、相同server_name多个虚拟主机优先级访问,是按读取文件的优先级来排序在/opt/app/下准备3个code文件夹,下面放入3个html文件,里面的内容分别是code1下对应server1... 在/etc/nginx/conf.d/下准备了3个conf文件diff看一下区别,server1就指定code1...检查语法,并重载nginx -tc
转载 2024-03-25 04:41:49
44阅读
  我们知道进程和线程会消耗内存和其它系统资源,同时他们需要进行上下文切换。大多数现代服务器可以同时处理成千上百的进程或线程,但是当内存耗尽时,性能将下降,同时,在高IO负载时,将会出现频繁的上下文切换。   处理网络的常规方法是为每个连接创建一个进程或者线程,这种方式容易实现,但是扩展困难。  那么Nginx是怎么做的呢?How Does NGINX Work?  nginx 在启动后,会有一
php-cgi 是运行phpphp-fpm是守护php-cgi进程nginx配置目录运行php location ~ \.php$ { root /var//html; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi
转载 2018-08-06 07:29:00
226阅读
2评论
需求一个简单的需求,提交大量数据到远程服务器,此时并不需要等待返回。另一个需求,获取API数据,同时查询数据库,并行处理,加快响应速度。配置问题set_time_limitignore_user_abortfastcgi_finish_request只是结束会话后继续执行,并没有并发,勉强非阻塞curl无法非阻塞,只能等待,可以并发https://github.com/guzzle/guzzle/
原创 2019-01-17 18:58:56
1913阅读
为让 PHP 在后端处理长时间任务时不阻塞,快速响应页面请求,可以有如下措施:1 使用 fastcgi_fi
PHP
转载
WXL
2021-07-13 14:02:14
953阅读
同步与异步同步和异步关注的是消息通信机制(synchronous communication/ asynchronous communication)。
原创 2022-08-17 01:31:37
479阅读
我们通过pcntl_fork来创建子进程,使用pcntl_wait和pcntl_waitpid来回收子进程。 子进程退出后,父进程没有及时回收,就会产生僵尸进程。  例1: <?php define('FORK_NUMS', 5); $pids = array(); //我们创建5个子进程 for($i = 0; $i < FORK_NUMS; ++$i) { $pid
转载 2017-01-17 20:07:00
204阅读
2评论
nginxphp整合以后 出现404的错误。这种情况有可能是php-from解析不到php脚本。修改php下的/scripts这个目录吧 /scripts修改成$document_root#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;意思其实就是解析运行你location中指定的目录中的
原创 2016-05-18 16:22:29
954阅读
# 实现Nginx + PHP的流程和步骤 在使用Kubernetes (K8S) 中实现 Nginx + PHP 的部署主要是通过创建相应的 Deployment 和 Service 来实现的。下面是实现 Nginx + PHP 的具体步骤和代码示例: ### 步骤 | 步骤 | 操作 | | ------ | ------ | | 1 | 创建一个 PHP 应用,用于处理请求 | | 2
原创 2024-04-30 10:07:25
95阅读
server { listen 8808; server_name c.v.cn; location / { index index.php index.html index.htm; } error_page 404 /404.html; location ...
原创 2022-05-19 15:38:51
389阅读
摘抄自博客园rikewang博客,方便自己查找阅读!!!!http://www.cnblogs.com/wxl-dede/p/5134636.html同步异步,阻塞阻塞nginx的IO模型同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)。所谓同步,就是在发出一个*调用*时,在没有
转载 2017-07-23 18:35:49
2360阅读
php中进程的阻塞,主要是父进程等待子进程退出。 1.php代码如下: <?php //定义进程数量 define('FORK_NUMS', 5); //用于保存进程pid $pids = array(); //我们创建5个子进程 for ($i = 0; $i < FORK_NUMS; ++$i) { $pids[$i] = pcntl_fork(); if
转载 2017-08-10 00:29:00
254阅读
2评论
PHP实现异步请求非阻塞 function fosck_post($url, $param){ $host = parse_url($url, PHP_URL_HOST); $port = 80; $urlInfo = parse_url($url); if (isset($urlInfo['sch ...
转载 2021-08-16 17:36:00
93阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5