Про прискоренні CSM Joomla написано чимало статей. І як оптимізувати і індексувати таблиці движка і які компоненти гальмують і як налаштувати кешування і цілі форуми дискусій, що дає відчутний приріст продуктивність, а що практично непомітно.
Можу сказати тільки те, що кожен сайт унікальний, до кожного потрібен свій тонкий підхід. Параметри і настройки доводиться підбирати при тонкій настройці дослідним шляхом і з часом підлаштовувати, так як сайт може рости і змінюватися. Сперечатися в цьому напрямку не хочу, хочу просто описати свій спосіб, як прискорити сайт побудований на цьому движку, спосіб який працює успішно на майже всіх моїх сайтах де стоїть joomla.
Отже, з того що я помітив при локальних тестах і на реальних хостингах, основне уповільнення викликає величезне число запитів формується движком до бази даних.
Як зменшити число запитів і прискорити їх обробку і формування контенту?
Отже, що потрібно зробити щоб прискорити роботу самого движка:
Якщо ви будете використовувати в якості кешування файлову систему, то там є помилки і у мене є виправлений і оптимізовані файли com_qcache / backends / file.php кому потрібно можу вислати. Рекомендую все ж по можливості використовувати APC, Eaccelerator або MemCache якщо доступно.
Що отримуємо за підсумком.
Я добивався зниження коллічесва реальних запитів до бази даних з 40 до 4. в 10 разів. А зі статичної і кешіруемой головній сторінці до 1 замість 10-12. Час генерації сторінок скоротилося з 0.8-1.2 сек без кешування запитів і до 0.1-0.3 сек з включеним кішірованіем запитів. Для мене це істотне прискорення. На локальному сервері Appace під Windows при правильному налаштуванні кеша файлової системи і використання іменованого каналу з mysql (пізніше я опишу докладно, як налаштувати зв'язку Appache + MySql, щоб продуктивність була не гірше ніж на unix системах) швидкість генерації на 0.05-0.1 сек повільніше ніж на реальному платному хостингу під unix-му.
PS: Моя версія виправленого компонента com_qcache.zip. Просто замініть файли встановленого компонента на файли з архіву.