2011-09-20 27 views
0

4年前,我已经构建了一个仍被一些朋友使用的webapp。该应用程序的问题是,现在它有一个巨大的数据库,并且加载非常缓慢。我知道这只是我的错,mysql查询会遍布各处(即使在布局生成时也是如此)。重构旧webapp以获得速度

ATM我知道一些关于OO的知识。我想在我的旧应用程序中使用这些知识,但是我不知道如何从头开始重写所有这些知识。使用MVC为我的应用程序,在这一刻是非常困难的。

如果你在我的位置,或者如果你有任务来提高我的旧应用程序的速度,你会怎么做?你有任何提示给我吗?任何工作场景?

回答

2

这一切都取决于上下文。最好的做法是改变整个应用程序,一次介绍最佳实践和标准。但是,采用进化方法可能会更好:

1-使用分析工具或负载测试识别应用程序中的主要瓶颈。

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

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

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

每次攻击一个步骤,进行小幅度增量。总是试图花费80%的时间解决20%以上的关键问题。

1

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

  1. 档案找到代码中的热点
  2. 你提到的MySQL查询被加载缓慢,尝试优化他们
  3. 可能移动的数据库访问存储的程序,以帮助模块化代码
  4. 查找重复的代码,并试图将其一块每次移动对象