PHP Cluster и файлы сессий на общем файловом хранилище. Возникают бесконечные блокировки?
Не хочется говорить банальные вещи, но ИМХО необходимость блокировки сессий и при этом отказ от привязки ip пользователя к конкретному серверу это признак ошибки в архитектуре.

Подумайте, возможно стоит часть данных из сессии вынести в базу? Ту самую часть, которая так критична к блокировкам.

Вообще странно, что при такой нагрузке у вас возникают проблемы. Каково количество сессий в момент блокировки?

Как вы работаете с сессиями? Стандартный обработчик, или таки что-то свое в session_set_save_handler, но тоже работающее с файлами?

Есть стойкое ощущение, что сессия по каким-то причинам не освобождается. Может быть поможет register_shutdown_function('session_write_close'); Хотя я так и не понял из документации какой в этом смысл, но зачем-то session_register_shutdown было придумано…

Еще я бы на вашем месте покурил www.php.net/manual/ru/function.session-write-close.php, а точнее комментарии к ней. ИМХО там описано пару кейсов которые могут оказаться вашими.

Один раз я встретил очень забавный случай, который приводил к проблемам с сессиями на относительно небольшой нагрузке — в одном проекте сессии инициировались не только там где было уместно, но и даже в статики. Про генерируемые картинки, которым сессии были вообще не нужны я вообще молчу…

Попробуйте в session_set_save_handler сделать логирование открытий/закрытий, уничтожений вызовов мусорщика и т.п. Может быть это даст вам ключ к пониманию проблемы.

В любом случае я бы вам советовал уходить в базу. Это более масштабируемо, управляемо и т.п. Я конечно понимаю, что транзакции в сессиях это перебор, но мы пока так и не увидели ваш кейс, может быть когда будут детали удастся что-то лучше придумать.
У вас как-то странно сделана блокировка. Сессии должны блокироваться индивидуально, и сессия одного пользователя никак не влияет на других (или у вас все пользователи используют одну общую сессию?). У вас что-то неправильно работает.