Так вам же и Apache ругается
WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
, и Nginx ругается
[mpm_prefork:error] [pid 70323] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
на одно и то же, а вы в упор не видите?
База данных тоже ругается
HINT: See server log for query details.\nCONTEXT: while rechecking updated tuple (4,118) in relation "oc_file_locks"
, один запрос обновляет записи (и этим заблокировал таблицы), другие запросы ждут окончания блокировки и не могут дождаться.
Кстати, в логах видны $1, $2 и т.д. Это вы заменили, или это база данных так запрос видит? Или это в коде ошибка, и в запрос вообще не подставляются нужные значения?
И ещё, почему "lock" вместо кошерного SQL-ного `lock`?