СВОБОДОМЫСЛИЕ   КОММЕНТАРИЙ - Мистическая проблема php - дублируются sql-запросы при сильной нагрузке на скрипт 
ГЛАВНАЯ
 Мистическая проблема php - дублируются sql-запросы при сильной нагрузке на скрипт LovinGOD  03/08/12 05:01
Ничто не предвещало беды, проект, практически закончен, и вот...

Есть php скрипт с mySQL. Что он делает.

1. Создаёт нового пользователя в таблице users
2. Создаёт новую запись в таблице-каталоге вопросов (id, дата, id юзера)
3. Вызывает 40 функций, которые создают картинки, грузят текстовые файлы, парсят их... В max_execution_time это укладывается - порядка 5 секунд занимает.
4. Выполняет 3 SQL-запроса по засовыванию результатов работы п.3 в третью таблицу с данными.

Проблема в чём: пп.1 и 2, кажется, выполняются от 2 до 5 раз. А точнее, по окончании работы скрипта создаётся до 5 пользователей и до 5 новых записей в каталоге вопросов. П.4 иногда не срабатывает вообще.

Создаётся такое ощущение, что скрипт как бы 2-5 раз успевает проработать, пока вызываются те самые тормозные функции из п.3.

Впрочем, это можно обойти, выделив п.3 в отдельный скрип, но это через задницу и, всё равно, как-то очень странно.

Это уже второй раз, когда я сталкиваюсь с подобной проблемой. Она ещё периодически возникает в моих новостных лентах - иногда - в 1-2 случаев из 100, или реже, выпускаемая новость или статья выходит дважды, как-будто скрипт запустили 2 раза. Причём не помогает даже отсев по дублирующемуся тексту.

Вы с таким сталкивались? Мистика какая-то. По крайней мере, не вижу проблем в самом коде, и ИНОГДА ничего подобного не случается.

 КОММЕНТИРОВАТЬ СООБЩЕНИЕ
 АВТОР  [Только латиница, цифры, _ и -]
 ТЕМА 
 ТЕКСТ  Вы можете использовать специальные теги: [q]цитата[/q], [b]жирный шрифт[/b],
[i]италик[/i], [u]подчеркнутый[/u], [cy]желтый (оранжевый)[/cy], [cg]зеленый[/cg],
[cw]жирно серый[/cw], [strike]перечеркнутый[/strike], [cb]синий[/cb],
[r]красный[/r], [s]маленький[/s],
[l=http://url]описание[/l] ("ЭЛЬ"), где URL может быть с http:// или без, описание может отсутствовать - вместо него будет подставлен URL
 
 
Ex.time (sec): 0.02458