Медленный отклик на запись базы данных из php
Вопрос
У меня есть мои PHP-скрипты, запущенные на сервере WAMP.Вот что я делаю
- PHP-скрипт A, который запрашивает базу данных и получает набор строк (я установил set_time_limit (0) // неограниченное время для выполнения скрипта)
- Основываясь на результирующем наборе, я выполняю скрипт tcl для каждой строки результирующего набора
- Выполнение сценария TCL занимает около минуты , он также вставляет некоторые данные в ту же базу данных
- Теперь, одновременно с выполнением сценария TCL , если я выполняю другой PHP-скрипт, который выполняет запись в базу данных, я не могу этого сделать, так как время отклика слишком медленное.Фактически он ожидает завершения PHP-скрипта A / TCL-скрипта
- Однако в течение этого времени чтение из базы данных происходит нормально и быстро
У кого - нибудь есть какие - нибудь предложения ?
С уважением, Митхун
Решение
Сеанс не может быть совместно использован параллельными сценариями.Любые новые запросы, которые пытаются session_start()
будет зависать в этот момент в ожидании завершения предыдущего скрипта.
Поскольку завершение вашего сценария занимает неопределенное время, было бы неплохо сессия_write_close()
сразу после получения всей необходимой информации из суперглобала $ _SESSION, поэтому одновременные запросы больше не будут зависать.
Не связан с StackOverflow