linux服务器session满,Linux服务器瞬间生成巨量session文件撑满硬盘,请问有什么办法解决?...

Linux上跑着一个wordpress站点,但是最近很不正常

具体表现形式为:

/tmp目录下瞬间生成巨量的session文件(1100多万),CPU瞬间400%,硬盘直接撑爆(90G),导致服务器宕机

文件已经多到使用ls和rm命令都没有反映了

这个情况在nginx和apache2两个webserver下都发生过,在Ubuntu和CentOS也都发生过

因为自己是这方面新手,很多问题不懂,查了很多资料但是都不能解决

自己胡乱猜测是否和WP super cache有关,但是发现停止插件后还是有这个问题

实在查不到相关资料,所以前来请教一下:

这种瞬间生成巨量session文件的情况是否和服务器被人攻击有关系?

一般这种问题要如何防止?

PS.在用nginx的时候还发生过一个问题,php-fpm的进程cpu100%,但使用查到的一些资料去跟踪进程没有收获。

请问我应该查找哪些相关资料来研究这个问题?

请多指教,谢谢!

回复内容:

Linux上跑着一个wordpress站点,但是最近很不正常

具体表现形式为:

/tmp目录下瞬间生成巨量的session文件(1100多万),CPU瞬间400%,硬盘直接撑爆(90G),导致服务器宕机

文件已经多到使用ls和rm命令都没有反映了

这个情况在nginx和apache2两个webserver下都发生过,在Ubuntu和CentOS也都发生过

因为自己是这方面新手,很多问题不懂,查了很多资料但是都不能解决

自己胡乱猜测是否和WP super cache有关,但是发现停止插件后还是有这个问题

实在查不到相关资料,所以前来请教一下:

这种瞬间生成巨量session文件的情况是否和服务器被人攻击有关系?

一般这种问题要如何防止?

PS.在用nginx的时候还发生过一个问题,php-fpm的进程cpu100%,但使用查到的一些资料去跟踪进程没有收获。

请问我应该查找哪些相关资料来研究这个问题?

请多指教,谢谢!

最好看下流量统计,查下是不是有这么多人访问,1100w感觉不正常了

程序里面写session的地方也要检查下,是不是有逻辑问题导致循环写.

把session存储到memcached中

分布式session 存储。

php程序中,尽量不要使用session了,尽量使用cookie, 性能要好很多

编写此php程序的程序员,一定是小白无疑,滥用session。殊不知道session的代价很大。

将session保存到 /dev/shm目录中去吧——这个配置不需要修改php程序

如果配置服务器有困难,本人可提供远程协助,多多交流。QQ 41096834

1、把session文件拆分到多个目录下,避免单个目录下巨量文件导致的文件系统io问题

// php.ini 见 http://php.net/manual/en/session.configuration.php#ini.session.save-path

session.save_path=3;/tmp

2、设置定时任务定时清理超过1天的session file

// crontab

0 3 * * * /usr/bin/find /tmp/session -type f -atime +1 -delete

3、把session放到redis或者memcached而不是文件系统

4、干脆就不用session,改为cookie + cache,这个需要具体的程序设计实现

清理已有的大量文件可以用

find ... -delete

或者

find ... | xargs rm -f

还是 @舞林 说的对,先检查一下程序的逻辑问题吧

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值