Привіт, натрапив на книжку REWORK від компанії 37signals.com (за лінком ви знайдете лише витяг з 5 статей), в якій, як ви вже здогадалися, йдеться про оптимізацію роботи та поліпшення ефективності праці. Власне, з перших 3 статей, які я наразі прочитав можу сказати, що я вже збираюся замовити цю геніальну книжку :)
В сфінкса (sphinx-search) існує дуже хороше рішення для оптимізації процесу індексації.
Суть рішення розглянута в статті "". Дельта індекси істотно знижують ресурсомісткість постійної переіндексації, дозволяючи робити її частіше і мати більш актуальні дані в результатах пошуку.
Використання дельта індексів проте вимагає періодичного оновлення основного індексу, щоб оновити змінені та викинути видалені документи. Та й сам по собі дельта індекс зростає з часом, вимагаючи все більше ресурсів для переіндексації (що робить його неефективним).
Найпростіше рішення — повна переіндексація в непікові години (або дні). Не найоптимальніший підхід, бо повна переіндексація може займати години, а іноді і дні. Існує інше рішення для оновлення основного індексу, що може заощадити безліч ресурсів — об'єднання індексів (index merging).
Если Вам приходилось сталкиваться с проблемой медленной работы сайта, эта статья для Вас.
Причину малой скорости сайта мы обычно ищем в PHP и MySQL, но зачастую забываем о том, что из себя представляет страница, которая попадает в браузер пользователя. Помимо HTML есть еще и Javascript, CSS, множество картинок, флеш объекты и т.п.
Время загрузки страницы чаще всего занимает лишь несколько процентов от времени загрузки всех ее компонент. Существует ряд подходов, которые помогут оптимизировать загрузку страницы в разы.
Несколько подробных статей на эту тему:
*
*
*
Стоит добавить еще несколько вещей
1. Стоит помещать Javascript файлы в конец HTML и использовать только внешние методы для регистрации событий (не использовать атрибутов, типа «onclick» и т.п.). Это поможет избежать ошибок в тех случаях, когда Javascript еще не загружен, а пользователь уже пытается выполнить какое-то действие
2. Стоит заранее сжимать статику gzip-ом, а в отдающем сервере просто отдавать необходимые заголовки. В этом может помочь
3. Изолируйте отдачу на разные сервера (например, динамику и статику отдавайте с разных серверов) — поможет изолировать проблемы с нагрузками