Php не блокирует файл по умолчанию [если я не ошибаюсь], вы можете заблокировать файл с помощью функции php flock () .
документы на flock ()
Блокировка файла заставит процесс ждать, пока каждая блокировка не будет «снята», прежде чем начать другую операцию над ней.
Однако возникает проблема, если для http-запроса истекает время до снятия блокировки файла.Но вы можете предотвратить это, установив следующие конфиги envirement:
set_time_limit(0); //sets timeout for runnin the script to unlimited.
ignore_user_abort(); //prevents user from aborting the request once started
1000+ запросов в секунду, однако кажется, что этот подход приближается к своей жизнеспособности.И я бы предложил использовать систему очередей для входящих данных и отделить обновление файла от входящих запросов.