Рефакторинг старого веб-приложения, чтобы набрать скорость

4 года назад я создал веб-приложение, которое до сих пор используется некоторыми друзьями. проблема этого приложения в том, что теперь у него огромная база данных, и она загружается очень медленно. Я знаю, что это моя вина, запросы mysql смешиваются повсюду (даже во время генерации макета).

Банкомат Я знаю немного о ОО. Я хотел бы использовать эти знания в своем старом приложении, но я не знаю, как это сделать, не переписав все с самого начала. Использование MVC для моего приложения в данный момент очень сложно.

Если бы вы были на моем месте, или если у вас была задача повысить скорость моего старого приложения, как вы это сделаете? У вас есть какие-нибудь советы для меня? Есть ли рабочие сценарии?

2 ответа

Решение

Все зависит от контекста. Лучше всего было бы изменить все приложение, внедрив лучшие практики и стандарты сразу. Но, возможно, было бы лучше принять эволюционный подход:

1- Определите основные узкие места в приложении, используя инструмент профилирования или нагрузочный тест.

2 - Оцените усилия, необходимые для рефакторинга каждого элемента.

3 - Определите страницы, для которых производительность более чувствительна к конечному пользователю.

4 - На основе указанной информации создайте список задач и установите приоритет каждого элемента.

Атакуйте по одной проблеме за раз, делая небольшие приращения. Всегда старайтесь тратить 80% своего времени на решение на 20% больше критических проблем.

Трудно дать конкретный совет без конкретного вопроса, но вот некоторые общие методы оптимизации / организации:

  1. Профиль, чтобы найти горячие точки в вашем коде
  2. Вы упоминаете, что MySQL запросы медленно загружаются, попробуйте оптимизировать их
  3. возможно перенести доступ к базе данных к хранимым процедурам, чтобы помочь модульности вашего кода
  4. искать повторный код и пытаться переместить его в объекты по одному фрагменту за раз
Другие вопросы по тегам