zoukankan      html  css  js  c++  java
  • 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=100 max_fails=5 fail_timeout=30;
        server unix:/tmp/php-cgi2.sock weight=100 max_fails=5 fail_timeout=30;
        server unix:/tmp/php-cgi3.sock weight=100 max_fails=5 fail_timeout=30;
    }
    
    upstream php_up_server {
        server 127.0.0.1:9000 weight=100 max_fails=5 fail_timeout=30;
        server 127.0.0.1:9001 weight=100 max_fails=5 fail_timeout=30;
        server 127.0.0.1:9002 weight=100 max_fails=5 fail_timeout=30;
    }
  • 相关阅读:
    深度学习中的激活函数
    23.从上往下打印二叉树
    22.栈的压入、弹出序列
    使用TensorFlow实现DNN
    shell按行读取文件
    linux集群批量执行命令
    CDH升级
    自动微分方法(auto diff)
    快速了解负载均衡
    拼写纠错的利器,BK树算法
  • 原文地址:https://www.cnblogs.com/mikeluwen/p/7810292.html
Copyright © 2011-2022 走看看