Медленный отклик на запись базы данных из php

StackOverflow https://stackoverflow.com/questions/1316054

  •  19-09-2019
  •  | 
  •  

Вопрос

У меня есть мои PHP-скрипты, запущенные на сервере WAMP.Вот что я делаю

  1. PHP-скрипт A, который запрашивает базу данных и получает набор строк (я установил set_time_limit (0) // неограниченное время для выполнения скрипта)
  2. Основываясь на результирующем наборе, я выполняю скрипт tcl для каждой строки результирующего набора
  3. Выполнение сценария TCL занимает около минуты , он также вставляет некоторые данные в ту же базу данных
  4. Теперь, одновременно с выполнением сценария TCL , если я выполняю другой PHP-скрипт, который выполняет запись в базу данных, я не могу этого сделать, так как время отклика слишком медленное.Фактически он ожидает завершения PHP-скрипта A / TCL-скрипта
  5. Однако в течение этого времени чтение из базы данных происходит нормально и быстро

У кого - нибудь есть какие - нибудь предложения ?

С уважением, Митхун

Это было полезно?

Решение

Сеанс не может быть совместно использован параллельными сценариями.Любые новые запросы, которые пытаются session_start() будет зависать в этот момент в ожидании завершения предыдущего скрипта.

Поскольку завершение вашего сценария занимает неопределенное время, было бы неплохо сессия_write_close() сразу после получения всей необходимой информации из суперглобала $ _SESSION, поэтому одновременные запросы больше не будут зависать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top