php session在高并发问题

PHP默认的session方案在高并发下有什么问题呢?

直观表现:页面响应慢

原因:
1.php session 是有锁机制的
2.一个客户端多个请求都要用到session

这两个原因导致php session产生死锁。

在现代Web应用程序开发中,有一个非常常见的情况,就是使用 AJAX技术在同一个页面内发送多个请求获取数据。如果这些请求都需要使用Session,那么第一个请求到达服务器后会取得Session锁,其它请求 就必须等待,所有请求将串行处理,即使它们彼此之间并没有依赖关系。这将大大增加页面的响应时间。

具体可以看这篇文章,讲述的比较详细
http://www.cnblogs.com/tangchuanyang/p/6586517.html

那么这个问题如何解决呢,一个简单的办法就是把session放在数据存储层来实现。利用数据库(mysql,redis缓存等)来实现,不依赖session。而且,站点层无状态是分布式架构设计的基本原则之一,如果以后要扩展架构上要调整,session放到数据层存储也更正确。

猜你喜欢

转载自blog.csdn.net/weixin_42511828/article/details/84830119