NGINX phpFPM负载均衡器和会话
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了NGINX phpFPM负载均衡器和会话,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1186字,纯文字阅读大概需要2分钟。
内容图文
![NGINX phpFPM负载均衡器和会话](/upload/InfoBanner/zyjiaocheng/965/ce6a03a4050f4bb6bc2ed76f17238d84.jpg)
我有一个问题,我正在使用nginx和PHPFPM.
我正在使用loadbalancer 2个phpfpm服务器.
为了保持两个phpfpm服务器的会话同步,我使用了memcached.
但是当我使用memcached时,我看到该页面正在变慢.
当我使用文件作为会话保存类型web运行速度更快,但会话不会立即同步(我猜文件是owerwriting).我正在使用NFS来共享会话.
有什么想法,请问如何在为phpfpm服务器使用nginx loadbalancer时同步会话?
解决方法:
使用NFS over memcached在PHP中看到的速度增加本质上是一种欺骗性的. PHP会话存储默认以先到先得的方式锁定获取.这意味着对同一会话的两个并发请求将导致第一个请求锁定会话,直到PHP完成或您从代码中明确调用session_write_close(),以释放锁定.
但是在基于文件的会话存储中,PHP依赖于flock,这在NFS中不起作用.
The NFS (Versions 2 and 3) protocol does not support file locking
07001
因此,对于分布式会话存储,您很少需要基于文件系统的慢速锁定.无论如何,大多数内存商店的工作速度更快.由于NFS通常无法处理flock调用,因此如果两个并发请求尝试写入同一会话文件,则会话将被破坏.换句话说,您所看到的更快的是基本上您的请求可能会更快地破坏其会话,因为并发会话没有锁定.
如果您的请求需要很长时间并且不需要会话,则最好在完成会话后尽可能早地在代码中显式调用session_write_close,以便任何其他并发请求可以进入会话.当您对PHP进行大量长轮询请求时(例如通过AJAX),这通常是一个问题.
内容总结
以上是互联网集市为您收集整理的NGINX phpFPM负载均衡器和会话全部内容,希望文章能够帮你解决NGINX phpFPM负载均衡器和会话所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。