Согласно документации https://www.elastic.co/guide/en/elasticsearch/client/php-api/5.0/_connection_pool.html в официальном PHP-клиенте (https://github.com/elastic/elasticsearch-php), если узел выходит из строя, он будет помечен как мертвый в течение 60 * 2 ^ x (x — $ failedPings) секунд. Кажется, он работает во время одного запроса, но во время следующего запроса каждый узел снова проверяется.
Сохраняются ли эти параметры при последующем запросе? В клиенте я не вижу использования APCu или чего-то такого, что могло бы сохранить его для следующего запроса, но, возможно, я что-то упустил.
Задача ещё не решена.
Других решений пока нет …