nginx php 使用unix socket 还是tcp?
两种通信方式的分析和总结
从原理上来说,unix socket方式肯定要比tcp的方式快而且消耗资源少,因为socket之间在nginx和php-fpm的进程之间通信,而tcp需要经过本地回环驱动,还要申请临时端口和tcp相关资源。
当然还是从原理上来说,unix socket会显得不是那么稳定,当并发连接数爆发时,会产生大量的长时缓存,在没有面向连接协议支撑的情况下,大数据包很有可能就直接出错并不会返回异常。而TCP这样的面向连接的协议,多少可以保证通信的正确性和完整性。
选择
其实,如果nginx做要做负载均衡的话,根本也不要考虑unix socket的方式了,只能采用TCP的方式。如果负载很小,一台服务器就可以用unix socket方式,以后如果有了高并发业务,再进行一些参数调整即可应付,如果真要是无法支撑,那只能做负载均衡了,到时候自然会选择TCP方式。
两种配置:
upstream unix__tmp_php_cgi_sock {
    server unix:/tmp/php-cgi.sock weight= max_fails= fail_timeout=;
    server unix:/tmp/php-cgi2.sock weight= max_fails= fail_timeout=;
    server unix:/tmp/php-cgi3.sock weight= max_fails= fail_timeout=;
}
upstream php_up_server {
    server 127.0.0.1: weight= max_fails= fail_timeout=;
    server 127.0.0.1: weight= max_fails= fail_timeout=;
    server 127.0.0.1: weight= max_fails= fail_timeout=;
}
nginx php 使用unix socket 还是tcp?的更多相关文章
- Nginx 中 fastcgi_pass 监听端口 unix socket和tcp socket差
		Nginx 中 fastcgi_pass 监听端口 unix socket和tcp socket差别 Nginx连接fastcgi的方式有2种:unix domain socket和TCP,Uni ... 
- nginx和php-fpm通信的两种方式 unix socket和TCP
		nginx和fastcgi的通信方式有两种,一种是TCP 一种是unix socket TCP使用的是 127.0.0.1:9000端口,将fastcgi_pass参数修改为127.0.0.1:900 ... 
- 【转】nginx 和 php-fpm 通信使用unix socket还是TCP,及其配置
		原文: http://blog.csdn.net/pcyph/article/details/46513521 -------------------------------------------- ... 
- unicorn与nginx通讯--[ruby unix socket]
		[龍昌博客] http://www.xefan.com/archives/84146.html unicorn是如何与nginx通讯的——介绍ruby中的unix socket Ruby 应用服务典型 ... 
- 转:用unix socket加速php-fpm、mysql、redis的连接
		图虫的服务器长期是单机运行.估计除了mysql之外,php-fpm和redis还可以在单机上共存很长时间.(多说服务器早就达成了单机每日2000万+动态请求,所以我对单机搞定图虫的大流量非常乐观) 如 ... 
- nginx和php-fpm 是使用 tcp socket 还是 unix socket ?
		转自 http://blog.csdn.net/qq624202120/article/details/60957634 从上面的图片可以看,unix socket减少了不必要的tcp开销,而tcp需 ... 
- tcp socket/ unix socket
		A UNIX socket is an inter-process communication mechanism that allows bidirectional data exchange be ... 
- 网络编程Socket之TCP之close/shutdown具体解释(续)
		接着上一篇网络编程Socket之TCP之close/shutdown具体解释 如今我们看看对于不同情况的close的返回情况和可能遇到的一些问题: 1.默认操作的close 说明:我们已经知道writ ... 
- [daily][netcat] 在UNIX socket上使用netcat
		概述 默认情况下,系统里边带的netcat,也就是nc.支持tcp,udp,ipv4,ipv6但是不支持unix socket. 而且,telnet也不支持. 除非自己写一个,不然很不方便. 另一个n ... 
随机推荐
- 1953 Problem  B #103. 子串查找
			#include<stdio.h> #include<string.h> main() { char a[100],b[100]; int n,k,i; gets(a); ge ... 
- 2018 ACM-ICPC 沈阳网络赛
			Problem A Problem B Problem C Problem D Problem E Problem F Problem G Problem H Problem I Problem J ... 
- 循环节(BFS)
			循环节 时间限制: 1 Sec 内存限制: 64 MB提交: 56 解决: 16[提交][状态][讨论版] 题目描述 第一节是英语课.今天,老师又教了桐桐很多单词.桐桐发现所有单词都有循环节(大写 ... 
- 软Raid5,LVM,3T大硬盘纠缠操作的问题
			新服务器,4块3T大硬盘,软Raid5 组建 加上LVM分区各种一通操作... 悲催的是经过4天的软raid rebuild,最终状态给我FAIL了,当看到raid的state[ State : cl ... 
- Combination Sum IV -- LeetCode
			Given an integer array with all positive numbers and no duplicates, find the number of possible comb ... 
- [BZOJ 2208] 连通数
			Link: BZOJ 2208 连通数 Solution: 传递闭包模板题 传递闭包是集合中最小的二元关系,其实就是对二元关系的不断拓展,一般用$floyd$求解 这里要先跑一遍$tarjan$求出$ ... 
- 【kd-tree】bzoj1176 [Balkan2007]Mokia
			裸题不多说,注意在sqrt(n*log(n))次插入后重构树以保持深度. #include<cstdio> #include<cmath> #include<algori ... 
- 【分块】【哈希】bzoj3578 GTY的人类基因组计划2
			每个房间用一个集合来维护,具体来说,就是给1-n的数每个数一个long long的hash值,往集合S里insert(i),就是S^=HASH[i]:erase(i),也是S^=HASH[i]. 用m ... 
- Exercise02_11
			import javax.swing.JOptionPane; public class Population{ public static void main(String[] args){ int ... 
- Scala实战高手****第12课:Scala函数式编程进阶(匿名函数、高阶函数、函数类型推断、Currying)与Spark源码鉴赏
			/** * 函数式编程进阶: * 1.函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量 * 2.函数更常用的方式是匿名函数,定义的时候只需要说明输入参数的类型和函数体即可,不需要名称 ... 
