Вопрос или проблема
В настоящее время я строю новый интернет-магазин, и, к сожалению, у меня огромные проблемы с моим сайтом на WordPress. Он загружается очень медленно, когда я пытаюсь открыть новую страницу. Посмотрите на скриншот из Chrome о времени загрузки.
Я использую виртуальный сервер Windows 2019 с установленным MySQL и PhpMyAdmin. Сервер имеет 6 ядер процессора и 16 ГБ ОЗУ. Сайт размещается через IIS.
Мне удалось немного снизить время загрузки, отключив все плагины. Так я снизил его до 2,5 с. Что все равно довольно медленно. Когда я добавляю WooCommerce и мою тему (Savory), оно подскакивает до более чем 10 с. Но всегда время генерации страницы супер высокое.
Я сделал следующие настройки в php.ini и wp-config.php, чтобы попытаться увеличить производительность, безуспешно. Хотя теперь мой сервер использует гораздо больше памяти, чем раньше.
php.ini
memory_limit = 512M
max_input_time = 300
opcache.memory_consumption=512
upload_max_filesize = 128M
post_max_size = 128M
wp-config.php
define('WP_MEMORY_LIMIT', '512');
define('WP_MAX_MEMORY_LIMIT', '1024M');
Кроме того, сайт PhpMyAdmin и IIS по умолчанию, похоже, загружаются довольно быстро. Так что это не должно быть проблемой с IIS в целом.
Я также пробовал множество различных плагинов от WordPress, таких как Smush, WP-Optimize или W3 Total Cache, но ничего не помогло.
У вас есть идеи, почему это так медленно? На моем сервере ничего другого не работает.
Большое спасибо за вашу помощь.
Ответ или решение
Решение проблемы медленной загрузки WordPress с WooCommerce и MySQL
Введение
Ситуация с медленной загрузкой вашего магазина на WordPress с плагином WooCommerce может быть вызвана множеством факторов. Вы упомянули, что нагрузка на страницы достигает 10 секунд, что явно неприемлемо для интернет-магазина. В этом ответе мы рассмотрим потенциальные причины, а также предложим возможные решения для улучшения производительности вашего сайта.
1. Оптимизация сервера
-
Параметры сервера: Убедитесь, что ваш сервер настроен максимально эффективно. Windows Server может требовать специфических конфигураций для работы с PHP и MySQL. Проверьте, что IIS оптимально настроен для работы с PHP:
- Включите модуль FastCGI: Это позволит PHP работать более эффективно.
- Настройка кэширования: Убедитесь, что кэширование включено и настроено для статических ресурсов.
-
Использование SSD: Если на вашем сервере установлен HDD, подумайте о переходе на SSD. Это значительно ускорит доступ к данным.
-
Мониторинг ресурсов: Используйте инструменты мониторинга для определения узких мест в производительности — проверьте использование CPU, RAM и производительность дисков.
2. Оптимизация базы данных MySQL
-
Оптимизация запросов: Ваша база данных может содержать неэффективные запросы. Используйте такие инструменты, как MySQL Slow Query Log, чтобы выявить медленные запросы и оптимизировать их.
-
Индексы: Убедитесь, что необходимые индексы присутствуют для таблиц, к которым часто обращаются, это ускорит выполнение запросов.
-
Чистка базы данных: Удалите ненужные записи, такие как спам-комментарии, ревизии постов и другие ненужные данные, чрезмерно замедляющие запросы.
3. Оптимизация кода и тем оформления
-
Темы и плагины: Ваша текущая тема "Savory" и плагин WooCommerce могут не быть оптимизированными. Рассмотрите возможность замены на более легковесные темы и плагины, которые будут лучше справляться с нагрузкой.
-
Кэширование страниц: Убедитесь, что кэширование страниц работает. Это может быть сделано с помощью плагинов, таких как WP Super Cache или W3 Total Cache. Обратите внимание, что плагин кэширования должен поддерживать совместимость с WooCommerce.
-
Минификация и объединение ресурсов: Уменьшите размер CSS и JS файлов, совместив их для минимизации запросов к серверу.
4. Анализ производительности
-
Инструменты для тестирования: Используйте инструменты, такие как Google PageSpeed Insights, GTmetrix или Pingdom, чтобы получить аналитику о загрузке страниц и идентифицировать проблемы, которые могут замедлять работу сайта.
-
Логи ошибок: Проверьте логи ошибок PHP и IIS на наличие предупреждений и ошибок, которые могут указывать на проблемы с производительностью.
Заключение
Учитывая все вышеперечисленные аспекты, оптимизация вашего сайта может потребовать внедрения комплексного подхода, включая настройки сервера, оптимизацию базы данных и работы с кодом. Каждый шаг поможет значительно улучшить производительность и уменьшить время загрузки страниц. Если после всех этих мер проблема останется, возможно, стоит рассмотреть возможность обращения к профессиональным разработчикам для анализа и доработки вашего сайта.