中国开发网: 论坛: 程序员情感CBD: 贴子 142607
sealw: 一个参考案例
"运营人员需要理解技术

我的一个朋友曾经参与一个应用的开发,使用了多用户、服务器版的Smalltalk来开发一个业务应用。应用通过了测试并投入了使用,但是使用中发现基本上每周应用都会崩溃一次。运营人员需要重新启动服务器,从最近的备份中恢复数据,然后继续运行该应用。随着越来越多的用户使用该应用,崩溃发生得越来越频繁,所以运营人员升级了服务器,这可以降低崩溃发生的频率。几经折腾之后,运营人员放弃了努力,要求开发团队修复这一问题。被派来解决此问题的开发人员几乎立即就发现了原因——因为用户总是登录到Smalltalk的应用上,运营人员让一个状态窗口保持每天24小时打开,以监视应用的运行。这个版本的Smalltalk没有机会来管理它的内存,这导致应用最终耗尽内存而崩溃。如果运营人员中有人懂得这门开发语言,他们就能避免不必要的服务器升级,只要在非高峰时期让每个人都退出该应用,让应用有机会回收未使用的内存就解决问题了。"

这样的垃圾回收策略是无可非议的,它考虑在有UI交互的情况下,不执行垃圾回收线程。我没研究过Python的垃圾回收策略,也许这个案例能提供理解问题的一些线索?

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录