服务端关闭session的重要性
来源:互联网 发布:yum 卸载 编辑:程序博客网 时间:2024/06/03 05:40
如果一个服务不需要session的话,尽量要将session关闭。
作为一名服务端开发者,在现如今敏捷开发的年代,都会选择使用框架来进行开发,但是许多框架有自己的默认配置规则,比如php语言的thinkphp3.2框架,会默认开启session会话。但就是这样一个不起眼的小配置,却可能导致整台服务器出现问题,甚至服务挂掉。
原因如下:
如果你的站点是一个每日请求上百万级规模的接口服务,
每一次请求(这里应该是没有携带cookie的请求)都会在服务端产生一个session会话,也就是一个小文件。
一般而言,php的session文件很小,所以文件本身大小不容易将磁盘打满,
但是,由于请求过于频繁,session文件的个数会暴涨,容易将 inode打满,(inode:存放文件信息的空间)
当inode被打满后,会导致系统无法在硬盘上创建新文件,会使得整个服务在含有创建新文件这一环节崩掉,(比如:Apache pid文件无法创建,等等)
另外,对于服务端运维而言,一旦发现服务器无法正常提供服务,首先是查看各个硬件指标有没有过载,然后查看各个服务组件;所以很难第一时间定位为inode被打满的问题;
解决方法:
1、定位inode被打满,以及定位是session会话文件过多造成的问题,方法如下:
(1)、df -i 查看inode使用量(这一步可以定位是否是inode被打满所导致的问题)
(2)、tree (查看是哪些文件占用过多) (如果上一把成立,这一步可以定位是哪些文件导致inode被打满)
2、处理session会话:
(1)、如果该服务不需要session会话:则关闭session;
(2)、如果该服务需要session会话,建议请求接口的客户端携带cookie,服务端对inode做监控,清理过期的session文件。
另外,关闭session的好处还有:
1、减小服务器的开销
2、session文件过多也会大量占用磁盘
5 0
- 服务端关闭session的重要性
- fileinputstream关闭的重要性
- 浏览器关闭时 清除服务端相应SESSION的问题
- 论关闭Windows自动更新的重要性!
- session的关闭
- 网站临时关闭创建503页面的重要性
- session关闭异常的处理
- 关闭浏览器后的session
- 客户端session与服务端session
- 客户端session与服务端session
- spring 控制hibernate的session何时关闭.
- osworkflow 中 session的关闭问题
- SSH session连接关闭问题的解决
- Tomcat关闭后session的处理
- SSH session连接关闭问题的解决
- DBLINK的session无法关闭,报异常!
- spring 控制hibernate的session何时关闭.
- hibernate关于session的关闭问题
- cssRuels和rules的区别
- 第73课: 基于Spark 2.0.1项目 例如注册之后前10天访问我们的移动App最多的前五个人;注册之后前10天内购买商品总额排名前5为的人
- js之运行事件检测
- 2016 ccpc HDU 5969 最大的位或
- maven国内快速镜像,国内maven中央仓库地址
- 服务端关闭session的重要性
- WatsonAPI调用学习
- iOS模拟器目录
- 你不太熟悉的JVM命令配置参数
- Anaconda win8,64下安pygraphviz
- [LeetCode]Remove Duplicates from Sorted List
- python实战--用户答题
- 《基于CUDA的并行程序设计》阅读笔记(一)
- Java 编程思想,1-3