• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

nginxphp使用unixsocket还是tcp?

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

两种通信方式的分析和总结

从原理上来说,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;
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP、JS、Python,数据库获取今天是星期几了?[开发篇]发布时间:2022-07-10
下一篇:
php框架之thinkphp发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap