Я хочу знать, когда вы строите типичный сайт в стеке LAMP, как вы оптимизируете его для наилучшего времени загрузки. Я представляю типичный сайт, управляемый DB.
Это высокоуровневый вид и, вероятно, может затронуть вопрос и позволить мне разбить его на каждый уровень стека.
L - На системном уровне (настройка и файловая система) вы можете улучшить скорость? Одна вещь, о которой я могу думать, это размеры изображения, может ли сжатие здесь помочь оптимизировать что-нибудь?
A - На веб-сервере должна быть тонна настроек, связанных с скоростью сайта. Не моя Форте. Вероятно, многое зависит от того, сколько сайтов работает одновременно.
M - MySQL на сайте, управляемом базой данных, является ключевым фактором эффективности БД. Есть ли лучший подход к нормализации, т.е. С использованием таблиц ссылок? Веб-разработчики часто просто делают простые монолитные таблицы похожими на 1NF, и это может убить производительность.
P - помимо настроек повышения производительности, таких как кеширование, что может сделать программист, чтобы повлиять на производительность на высоком уровне? Мне бы очень хотелось узнать, приближается ли проект MVC к производительности быстрее, чем быстро и грязно. Другие простые советы, такие как сеансы быстрее, чем файлы cookie, будут интересны.
Очевидно, что вам нужно окунуться в детали и найти, какой код замедляет вас. Также я понимаю, что многие сайты имеют много разных характеристик производительности, но пусть предположим, что на типичном сайте больше читает записи.
Мне просто интересно, сможем ли мы собрать кучу лучших практик и полностью ожидать, что люди свяжут другие вопросы, чтобы мы могли эффективно обрабатывать контрольный список.
Моя цель состоит в том, чтобы увидеть, даже если в дополнение к обычным проблемам производительности вы можете увидеть некоторые вещи, которые вы, возможно, не придумаете, чтобы идти вместе с резюме лучших практик.
Итак, мой вопрос: если вы начинаете с нуля, как бы вы убедились, что ваш сайт LAMP был быстрым?