Оптимизация работы веб-приложения (основы)


Оптимизация front-end:

1. Оптимизация изображений
2. Уменьшение количества кнопок, баннеров и прочего, подгружающихся со сторонних ресурсов
3. gzip-сжатие выходного потока

Оптимизация базы данных MySQL:
1. Используем индексы для выборки (проверяем это с помощью EXPLAIN)
2. Оптимизируем (по возможности) запросы таким образом, чтобы для выборки данных приходилось просматривать меньше таблиц и не всю таблицу целиком.
3. Лучше несколько INSERT поместить в одну вставку (помним о блокировках)
4. По возможности, использовать постоянные соединения с базой данных, чтобы избежать издержек на подключения
5. Используем ALTER TABLE … ORDER BY expr1,expr2… если мы большей частью извлекаем записи в порядке expr1,expr2… Можно получить более высокую производительность, используя эту опцию после больших преобразований в таблице.
6. Если очень часто приходится производить вычисления, базирующиеся на информации из большого количества строк (такие как подсчет предметов), то, вероятно, намного лучше ввести новую таблицу и обновлять счетчик в режиме реального времени.
7. Если необходимо собирать статистические данные из больших журнальных таблиц, то используйте сводные таблицы вместо сканирования целой таблицы. Поддерживать сводные таблицы должно быть намного быстрее, чем пытаться сделать «живую» статистику.
8. Воспользуйтесь преимуществом того факта, что столбцы имеют значения по умолчанию. Вносите величины явно только тогда, когда значения вносимых величин отличаются от установленных по умолчанию. Это уменьшает объем анализа, который необходимо произвести в MySQL, и улучшает скорость внесения.
9. Обычно следует стремиться сохранять все данные в безизбыточной форме (которая называется 3-й нормальной формой в теории баз данных), но не следует опасаться дублирования данных или создания сводных таблиц, если это необходимо для достижения большей скорости.
10. Используем кэширование запросов.
11. Используйте INSERT /*! DELAYED */, если нет необходимости знать, когда ваши данные записываются. Это повысит скорость работы, поскольку многие табличные записи могут быть внесены с помощью одной дисковой записи.
12. Рисунки лучше хранить на диске, а в базе лишь ссылки на них
13. Столбцы с идентичной информацией в различных таблицах должны объявляться одинаково и иметь одинаковые имена. Старайтесь сохранять имена простыми (используйте name вместо customer_name в таблице customer).
14.





Случайные посты

Категория: Разное

Оставить комментарий