Apache завис, когда MySQL выполняет много команд

У меня возникла неприятная проблема с моим локально настроенным компьютером Apache + PHP5.6 + MySQL с Windows 10.

Все работает гладко, но я заметил, что когда я выполняю процесс, который выполняет множество запросов и требует много времени и ресурсов, Apache просто ждет завершения процесса, и как только он завершится, он снова реагирует.

Итак, это примерно так:

  1. Я запускаю процесс импорта PHP.
  2. Когда он запускается, вкладка моего браузера показывает, что он работает.
  3. Пока процесс не истечет (на основе переменной php max_execution_time), я не могу делать ничего, что касается localhost.

У меня вопрос: связана ли эта проблема с конфигурацией Apache, PHP или MySQL и как ее исправить? (если это поправимо)

Я использую следующее:

  • ОС: Windows 10 1803 Edition
  • Версия сервера: Apache / 2.4.25 (Win64) Сервер построен: 16 декабря 2016 г. 23:05:57
  • PHP 7.2.7 (cli) (построено: 19 июня 2018 г. 23:14:45) (ZTS MSVC15 (Visual C++ 2017) x64)
  • Сервер MySQL: v5.7.23.0

Любая помощь будет принята с благодарностью, я не думаю, что я единственный, у кого есть эта проблема.

РЕДАКТИРОВАТЬ (ПОДРОБНЕЕ)

  • Если я попробую в том же браузере на другой вкладке, Apache просто дождется завершения процесса и пока ничего не вернет.
  • Если я открываю другой браузер, Apache иногда работает, но в других случаях (обычно через несколько минут) он также перестает что-либо возвращать и ждет завершения процесса.
  • Apache использует около 1,5% ЦП и 100 МБ ОЗУ.
  • У меня много ресурсов на компьютере, так что проблема не в исчерпании ресурсов.
  • Также в PHP я выделил 1 ГБ доступной памяти, поэтому проблем с этим возникнуть не должно.
  • В моих сценариях я читаю удаленные файлы, может ли это быть проблемой?

Просьба уточнить. Отказывается ли apache обслуживать другие страницы, даже простые текстовые страницы, во время выполнения этой операции импорта? Что на вкладке «Производительность» диспетчера задач Windows говорится об исчерпании ресурсов ЦП и памяти? Пожалуйста редактировать свой вопрос.

O. Jones 06.09.2018 01:03

Готово @ O.Jones, на самом деле это не проблема с ресурсами, у меня много ресурсов на машине, моя теория такова, что это может быть что-то связанное с потоками, но я не очень знаком с этой темой, поэтому я не уверен. Странно то, что обычно в другом браузере он работает, но иногда не работает даже там. Так что я не уверен, что это связано с ограничением ресурсов и apache.

Mihail Minkov 06.09.2018 01:11

что он ? php 5.6 или 7.2 при вызове через apache? Какие у вас mysql Max_connections и Max_used_connections и Threads_connected во время эпизодов?

YvesLeBorg 06.09.2018 01:40

Возможно, вам следует проверить конфигурации mySQL и Apache и убедиться, что оба они настроены так, чтобы они могли запускать несколько параллельных процессов. Это не обязательно по умолчанию. Я не могу вспомнить точные директивы в Apache, но вы можете их погуглить. Вы можете настроить количество потоков и дочерних процессов в каждом потоке, которые могут обслуживаться одновременно, прежде чем новые запросы начнут ставиться в очередь.

Javier Larroulet 06.09.2018 03:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
82
0

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