Параллельное соединение Apache и Laravel

Меня немного смущает проблема, которая в последнее время стала более очевидной, и я надеюсь, что кто-то сможет указать мне направление, где я могу искать подходящие настройки, или если я столкнулся с другой проблемой. они встречались раньше.

У меня есть приложение Laravel и частный сервер, который я использую для нашего маленького музея. Теперь, когда приложение стало более сложным, отставание заметно, и вы можете видеть, как оно почти выстраивает соединения, завершая один запрос, прежде чем переходить к следующему, будь то API, ajax, просмотр ответов, что угодно.

Я использую Apache 2.4.29, а мой сервер Ubuntu — 18.04.1.

Я искал вокруг, но мало что помогло, что касается настроек соединений, если я посмотрю на свой phpinfo(), я увижу это Max Requests Per Child: 0 - Keep Alive: on - Max Per Connection: 100, но я считаю, что они и так хороши.

Если я проверю свою память, я думаю, что у меня есть 65 ГБ доступной памяти, из которых 5 используются для кэширования. При просмотре оперативных данных память никогда не переходит на территорию ГБ и остается исключительно на территории МБ. Этот сервер используется только для этого проекта Laravel, поэтому мне не нужно беспокоиться о том, чтобы связываться с другими проектами, я просто хотел бы убедиться, что это приложение использует его наилучшим образом для своих целей.

Я был бы признателен за любые предложения, я знаю, что есть шанс, что термины, которые я ищу, неверны или, возможно, просто устарели, поэтому, если есть какие-либо потенциально полезные ресурсы, я также был бы признателен за них.

Большое спасибо!

с таким объемом памяти, я думаю, вам нужно еще раз посмотреть на свой код

Ahmed Aboud 26.05.2019 08:56
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
1
880
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это действительно сложно сказать, так как не хватает многих деталей, но вот некоторые вещи, которые могут дать вам направление, где искать:

  1. Попробуйте загрузить htop через apt-get и посмотрите, что происходит с нагрузкой на ваш ЦП/ОЗУ при каждом запросе к серверу.

  2. Используете ли вы php-fpm для управления запросами php? Это может помочь выяснить, связана ли проблема с вашим PHP-кодом или с конфигурацией apache.

  3. Пробовали развернуть на другой сервер? Вы все еще видите отставание на другом сервере? Если нет, это указывает на проблему с неправильной конфигурацией, а не на проблему с вашим кодом.

  4. У вас есть другие процессы, которые работают в фоновом режиме и могут замедлить работу? Крон? Ларавель очередь?

  5. Если вы попытаетесь установить другое приложение на сервер (скажем, phpmyadmin), оно тоже будет работать медленно или нормально?

Попробуйте взять отсюда. Удачи.

Небольшое обновление, и я буду обновлять на основе ваших цифр. 1) Добавил, и, как я думал, если у меня есть несколько человек из разных мест (просто на всякий случай), они пытаются получить доступ, а использование ЦП / ОЗУ редко (а если и редко) достигает 1% от общего использования. 2) Я не знаю, но это будет моей следующей задачей. 3) Позже на следующей неделе у меня появится новый сервер для другого проекта, но есть ли у вас какие-либо ресурсы, которые можно найти, чтобы найти неправильную конфигурацию, если она была? 4) На данный момент у меня есть один cron, который запускается каждую минуту, но редко что-то делает.

inuShiva 27.05.2019 03:54

Продолжение... - на 4) ... просто чтобы убедиться, что вещи не накапливаются (например, временные файлы или изменения состояния). 5) Добавление phpmyadmin заставляет меня задаться вопросом, есть ли что-то, чего я не замечаю в самом Laravel, поскольку я могу загружать/перезагружать страницу PhpMyAdmin (наряду с другими, пытаясь заставить ее работать с несколькими подключениями) несколько раз, пока это занимает Laravel загружается несколько секунд.

inuShiva 27.05.2019 03:56

Итак, если phpmyadmin работает нормально, это означает, что проблем с конфигурацией и сервером как таковым быть не может. Может быть, как вы предполагаете, вам чего-то не хватает в коде laravel?

Alexander F 27.05.2019 13:12

Возможно, вы правы, поэтому я установил новый временный сервер и только что создал новую установку laravel, используя ту же базу данных. Используя отладочную панель Laravel, я увидел, что загрузка сократилась с 1,2 до 8,5 секунд в старом приложении до 3,1 миллисекунды в новом (и все еще с использованием той же базы данных). Я настроил страницу, на которой в основном загружается одна и та же информация в одном и том же HTML-шаблоне, а время загрузки сильно различается. Так что это должно быть что-то в старом проекте Laravel, что вызывает серьезные проблемы... к сожалению, я в растерянности по этому поводу.

inuShiva 27.05.2019 20:11

Тем не менее, спасибо за вашу помощь, я приму ваш ответ исключительно для того, чтобы он успешно сузился до того, что это проблема Laravel сама по себе, а не проблема сервера или каких-либо других проблем с обработкой.

inuShiva 27.05.2019 20:12

Другие вопросы по теме