`

session过期时间过长引发的性能问题

    博客分类:
  • php
PHP 
阅读更多

同样的程序,连接同一个数据库,但测试服务器上比我本机要跑得慢,不得其解。

使用xdebug+winCacheGrind发现session_start()居然耗时1274ms。打开服务器上的/tmp目录,发现不计其数的session临时文件。正是这些文件太多导致session_start耗时1秒多,统统删除后,问题解决。

打开php.ini,果不其然session.gc_maxlifetime被设置得非常非常大,所以导致session临时文件没有被删除。

0
1
分享到:
评论

相关推荐

    浏览器多窗口共用session引发的混乱

    5. **性能和安全考虑**:过多的Session可能会占用服务器资源,因此需要考虑合理设置Session的过期时间和清理策略。同时,确保Session ID的安全性,防止被窃取导致会话劫持。 6. **最佳实践**:在设计Web应用时,应...

    PHP中设置一个严格30分钟过期Session面试题的4种答案

    1. 设置Session过期时间的不正确方法: 通常会有人建议通过设置session.gc_maxlifetime来控制Session的过期时间。但这种方法不正确,因为它依赖于PHP垃圾收集器的概率运行,无法保证在精确的30分钟后过期。此外,...

    使用redis在nginx负载下tomcat6多节点共享session

    2. **Session过期策略**:根据应用需求,调整Session过期时间和清理策略,避免Redis内存占用过高。 3. **安全性**:在生产环境中,务必为Redis设置访问控制,避免未授权访问。同时,敏感数据不应直接存储在Session...

    Django操作session 的方法

    - `request.session.set_expiry(value)`:设置session的过期时间,`value`可以是秒数、datetime对象或timedelta,具体含义如描述所示。 8. **Session配置**: - Django提供五种不同类型的Session存储引擎: - ...

    Asp.net在ashx文件中处理Session问题解决方法

    2. 设置合理的Session过期时间,防止用户长时间未活动后仍占用资源。 3. 使用Session时,应该始终检查Session对象是否为null,避免引发`NullReferenceException`。 4. 如果可能,考虑使用其他状态管理机制,如Cookie...

    java web开发过程中出现的一些诡异问题(2)

    合理设置Session的过期时间,考虑使用Cookie或Token替代,或者使用分布式Session存储(如Redis)来提高性能。 4. **异常处理** 忽视异常处理可能导致程序崩溃或者隐藏实际问题。始终捕获并处理异常,提供有意义的...

    MantenerSesion_C#_Sessions_web_asp.net_

    4. **配置Session**:在`web.config`文件中,可以配置Session的默认行为,例如设置Session的超时时间: ```xml <sessionState mode="InProc" timeout="20"></sessionState> ``` 这表示Session将在20分钟后自动...

    详解Asp.net Core 使用Redis存储Session

    内部的`SetScript`定义了如何将Session数据(包括过期时间)存储为一个哈希(Hash)。 `RedisCache`类还包含了对`ConnectionMultiplexer`和`IDatabase`的引用,它们是StackExchange.Redis库提供的,用于与Redis...

    hibernate 缓存详解

    4. 过期策略:可以设置缓存的过期时间,以避免数据陈旧导致的问题。 5. 锁机制:Hibernate 提供了悲观锁和乐观锁,用于处理并发更新带来的问题。 四、缓存区域 Hibernate 允许自定义缓存区域,将不同类型的实体或...

    大型c#网站如何提高性能.doc

    - 充分利用`Cache`对象,根据需要插入、更新和设置缓存过期时间。 综上所述,通过这些策略的实施,大型C#网站的性能可以得到显著提升,从而提供更快的加载速度、更好的用户体验和更有效的服务器资源管理。同时,...

    Hibernate的缓存使用

    合理设置缓存过期时间和大小,以及选择合适的缓存策略,对于优化系统性能至关重要。 ### 实战应用 1. **查询优化**:对于频繁查询的数据,可以配置二级缓存,减少数据库的负载。 2. **数据一致性**:在分布式环境...

    hibernate缓存总结

    4. 缓存更新策略:合理设置缓存更新和过期策略,以保证数据新鲜度。 5. 考虑并发问题:在高并发环境下,需考虑并发控制,避免脏读、幻读等问题。 总结,Hibernate缓存机制是其性能优化的重要手段,通过理解并合理...

    Web Service中保持ASP.net的状态

    此外,Session状态可能因长时间无活动而被清除,或在服务器上过期。 **在XML Web Service中使用HTTP机制保持状态** 对于XML Web服务(或现在的Web API),使用基于HTTP的状态保持机制(如Cookie或URL重定向)具有...

    java 内存泄露

    设置合适的Session过期策略,或者使用Session监听器来清理不再使用的Session。 5. **合理使用弱引用和软引用**: 弱引用和软引用来引用对象,可以在对象不再被强引用时允许垃圾回收器回收。 6. **定期进行性能测试*...

    记录同时在线人数 jsp

    例如,如果用户长时间不活动,session可能会因为超时而被自动清理,但实际用户可能还在浏览。为了解决这个问题,可以定期发送心跳请求(比如每隔5分钟),保持session的活跃状态。另外,考虑到高并发场景,`...

    hibernate二级缓存

    通过设置合理的缓存过期策略和使用随机过期时间可以缓解这个问题。 了解并正确使用Hibernate二级缓存,可以帮助开发者优化应用性能,减少数据库负载,提高用户体验。但在实际操作中,需要根据项目特性和需求,进行...

    点击流分析前整理的相关材料

    Session是用户在一段时间内的一系列交互,而Cookie是服务器在用户浏览器上设置的小型数据文件,用于记录用户信息。通过Session和Cookie,可以跟踪用户在整个网站的路径,分析他们的行为模式。 - **Session与Cookie...

    Hibernate缓存深入详解

    但查询缓存的使用需要谨慎,因为数据的更新可能导致缓存中的数据过期,引发一致性问题。 4-1 二级缓存的高级应用(分布式缓存) 在分布式环境中,二级缓存可以配置为分布式缓存,如使用GemFire或Terracotta等技术,...

Global site tag (gtag.js) - Google Analytics