刚开始我们使用缓存来进行改善。但是我们的页面中大量的数据都是随时变化的,.net framework不够精确的缓存命中率给我们的数据一致性表现带来尴尬的处境。
其次Viewstate的优化似乎也没有什么效果,可以优化的地方少之又少。
唯一可以做的便是将大量页面的SessionState改为ReadOnly,因为我们需要在处理过程中使用Session进行用户效验。
最后我们不得不从后台处理来考虑。我们发现后台的服务类以及业务逻辑被频繁调用,所以我们使用Singleton模式将底层业务逻辑类和工具类进行了重构,发现性能大幅提升。虽然有人说Singleton的一个缺点便是每次都需要检查类是否创建,这会消耗资源。但是检查所消耗的资源总比创建要小得多吧,何况不会无止境的吞噬宝贵的内存。
这次的经历告诉我们一个教训:良好的结构将会保证系统的稳定性和性能。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/