重构旧webapp以获得速度

时间:2011-09-20 17:09:39

标签: rewrite upgrade legacy-app

4年前,我已经构建了一个仍然被一些朋友使用的webapp。该应用程序的问题是,现在它有一个庞大的数据库,并且加载速度非常慢。我知道这只是我的错,mysql查询在各个地方混合(甚至在布局生成时间)。

ATM我知道一些关于OO的信息。我想在我的旧应用程序中使用这些知识,但我不知道如何在不重写所有内容的情况下执行此操作。在我的应用中使用MVC非常困难。

如果你在我的位置,或者你将有任务提高我的旧应用程序的速度,你将如何做到这一点?你有什么提示吗?任何工作场景?

2 个答案:

答案 0 :(得分:2)

这一切都取决于背景。最好的方法是改变整个应用程序,同时引入最佳实践和标准。但采用渐进式方法可能会更好:

1-使用性能分析工具或负载测试确定应用程序中的主要瓶颈。

2 - 估算重构每个项目所需的工作量。

3 - 确定性能对最终用户更敏感的页面。

4 - 根据识别的信息创建任务列表并设置每个项目的优先级。

一次攻击一个问题,小幅增加。总是试图花80%的时间来解决20%更严重的问题。

答案 1 :(得分:1)

如果没有具体问题,很难给出具体的建议,但这里有一些通用的优化/组织技术:

  1. 查找代码中的热点的个人资料
  2. 你提到加载缓慢的mysql查询,尝试优化它们
  3. 可能会移动数据库访问存储过程以帮助模块化您的代码
  4. 寻找重复的代码并尝试一次将其移动到一个对象