session过期时间过长引发的性能问题
同样的程序,连接同一个数据库,但测试服务器上比我本机要跑得慢,不得其解。
使用xdebug+winCacheGrind发现session_start()居然耗时1274ms。打开服务器上的/tmp目录,发现不计其数的session临时文件。正是这些文件太多导致session_start耗时1秒多,统统删除后,问题解决。
打开php.ini,果不其然session.gc_maxlifetime被设置得非常非常大,所以导致session临时文件没有被删除。