Очень медленно работает сайт локально. Как увеличить скорость?
сайт локально развернул на linux под lemp. Но работает очень медленно по сравнению с его копией на хостинге.
Подскажите какие параметры php и базы данных и nginx подправить чтоб работало шустрее?
Дополнительно:
линукс стоит как виртуалка или в докере?
железа 16 гигов. процессор I5. Ну обычно всё шустро работает локально. Без всяких докеров. Обычный nginx php8.1-fpm,
а тут выкачал ларавеловский сайт и он медленно работает. долгий отклик при переходах между страницами.
и что значит обычные сайты? html+css? или и php + sql?
Оказывается вот в чем было дело! Xdebug был подключен. Отключил его в xdebug.so и все стало быстро работать.
- Как это выяснилось?
- Капитан Пронин, как как? закомментировал xdebug в php.ini, ребутнул php8.1-fpm и nginx и начался полет со стремительной скоростью. уж больно в логах ошибок смущала надпись
2023/04/14 09:54:11 [error] 8913#8913: *6 FastCGI sent in stderr: "PHP message: Xdebug: [Step Debug] Could not connect to debugging client. ....хотя может быть нужно было урезать настройки xdebuf. ато было включено слишком много. xdebug.mode = debug,develop,trace
- Слава,
уж больно в логах ошибок смущала надпись
понятно
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для увеличения скорости работы сайта локально, можно предпринять несколько шагов:
1. Оптимизация базы данных: убедитесь, что все таблицы имеют правильные индексы, что запросы оптимизированы и что база данных настроена правильно.
// Пример оптимизации запроса SELECT * FROM users WHERE username = 'john_doe'; // Правильный индекс CREATE INDEX idx_username ON users (username);
2. Кэширование данных: используйте кэширование для уменьшения количества запросов к базе данных. Можно использовать Memcached, Redis или другие инструменты для кэширования.
// Пример кэширования данных $memcached = new Memcached(); $memcached->addServer('localhost', 11211); $data = $memcached->get('key'); if (!$data) { $data = fetchDataFromDatabase(); $memcached->set('key', $data, 3600); // кэшировать на 1 час }
3. Оптимизация кода: убедитесь, что ваш код оптимизирован и использует эффективные алгоритмы. Избегайте лишних циклов, проверок и запросов.
// Пример оптимизированного кода for ($i = 0; $i < count($array); $i++) { // делать что-то } // Оптимизированный код $count = count($array); for ($i = 0; $i < $count; $i++) { // делать что-то }
4. Использование CDN и кеширование статических ресурсов: загрузка статических файлов (CSS, JavaScript, изображения) с CDN и кеширование их на стороне клиента поможет ускорить загрузку страниц.
5. Настройка сервера: убедитесь, что ваш веб-сервер правильно настроен и использует оптимальные параметры. Можно использовать gzip-сжатие, HTTP/2, оптимизировать конфигурацию PHP и т.д.
Следуя этим рекомендациям, вы сможете значительно увеличить скорость работы вашего сайта локально.