клиент vertex tcp сбрасывает пакет

#tcp #vert.x

#tcp #vert.x

Вопрос:

Я создал TCP-сервер Vertx и соответствующий TCP-клиент. Работа TCP-клиента заключается в чтении журналов (в формате gzip) из определенного каталога и непрерывной загрузке на сервер. Затем сервер выполнит некоторую обработку и сохранит данные. Поскольку журналы находятся в формате gzip, следовательно, средний размер файла журнала составляет 144 КБ. Мой симулятор TCP-клиента запускает 4 потока, каждый поток создаст 100 таких файлов журнала и загрузит их на сервер vertex. Итак, в конце я ожидаю увидеть 400 (= 100 * 4) файлов, загруженных на сервер. Но, к моему удивлению, после завершения симулятора я вижу, что сервер обработал только 76 файлов, и нет никаких признаков оставшихся 324 файлов. Я запускал его несколько раз, но каждый раз сервер обрабатывает около 75 файлов. Из журнала TCP-клиента я вижу, что все 400 файлов были загружены. Похоже, сервер сбрасывает какой-то пакет. Но из журнала сервера я вижу, что было обработано только ~ 76 файлов. Позже я уменьшил размер файла сжатого журнала, сгенерированного симулятором, до 8 КБ (в каждом файле журнала теперь меньше записей журнала), и на этот раз я вижу, что на стороне сервера обрабатывается около 398 файлов.

По-видимому, это какая-то проблема с конфигурацией. Возможно, мне нужно настроить сервер Vertex с дополнительными ресурсами (экземпляры, увеличить размер принимаемого буфера и размер очереди событий и т.д.). Но откуда кому-нибудь знать предел, за которым пакеты будут отброшены.

  1. Точнее, какая «конкретная» конфигурация требуется в таком случае.
  2. Во-вторых, возможно ли настроить клиент / сервер Vertx «TCP» с каким-либо механизмом подтверждения, чтобы клиент мог загружать последующий файл, только когда ранее загруженный файл был успешно обработан.

Комментарии:

1. Если бы клиент отбрасывал пакеты, вы бы не увидели меньше файлов. Возможно, вы видели файлы разных размеров. Вероятно, происходит то, что вы закрываете своих клиентов слишком рано. Не видя кода, это невозможно решить, хотя/