Звучит так, как будто вы работаете с множеством проблем, выходящих за рамки проблемы скорости подачи C #.
Несколько вопросов наперед - эти 60-гигабайтные данные будут использоваться каждые выходные или это начальная засыпка системы? Существуют ли данные как элементы в файловой системе, локальной для установки ESP или в другом программном обеспечении? Это единое внутреннее развертывание ESP или решение, которое вы хотите тиражировать в нескольких местах? Установка одного узла или нескольких (или, точнее ... сколько - ограничение одного узла составляет 20 документов)?
Производительность ESP обычно ограничена количеством обрабатываемых документов, а не количеством файлов. Если предположить, что ваши данные находятся в диапазоне между размером электронной почты 35 КБ и размером файловой системы 350 КБ, то ваши 60 ГБ равны от 180 КБ до 1,8 млн. Документов, поэтому для подачи данных в течение 48 часов вам необходимо обрабатывать от 3750 до 37500 документов в час. Не очень высокая цель на современном оборудовании (если вы установили это на ВМ ... ну ... все ставки сняты, на ноутбуке было бы лучше).
Для подачи у вас есть выбор между более быстрым кодированием и более широким контролем с управлением пакетами, подаваемыми самостоятельно, или с использованием инфраструктуры DocumentFeeder в API, которая абстрагирует большую часть пакетной логики. Если вы просто используете 37,5 тыс. Документов в час, я бы сэкономил накладные расходы и просто использовал DocumentFeeder, хотя позаботился о его параметрах конфигурации. Податчик документов позволит вам обрабатывать ваш контент отдельно для каждого документа, вместо того, чтобы создавать пакеты самостоятельно, он также даст некоторую меру автоматической повторной попытки на основе конфигурации. Общая цель должна быть максимум 50 МБ контента на пакет или 100 документов, в зависимости от того, что наступит раньше. Большие документы следует отправлять небольшими партиями ... поэтому, если у вас есть файл размером 50 Мб, в идеале он должен отправляться сам по себе и т. Д. Вы фактически потеряете контроль над пакетами, формируемыми устройством подачи документов ... так что логика есть это лучшее усилие со стороны вашего кода.
Используйте обратные вызовы, чтобы отслеживать, насколько хорошо контент попадает в систему. Установите ограничения на количество документов, для которых вы еще не получили окончательные обратные вызовы. Цель должна состоять в том, чтобы X партий были представлены в любой момент времени - или Y Mb, пауза в любой отсечке. X должно быть около 20 + # процессоров документов, Y должно быть в области 500-1000Mb. С фидером документов это просто прохождение / отказ на документ, с традиционной системой это более подробно. Ждать только «защищенного» обратного вызова ... который сообщит вам, что он был обработан и будет проиндексирован ... ждать, пока его можно будет найти, бессмысленно.
Установите некоторые ограничения для вашего контента ... в общем случае ESP сломается с очень большими файлами, есть жесткое ограничение в 2 ГБ, поскольку это все еще 32-битные процессоры, но на самом деле все, что превышает 50 МБ, должно иметь только метаданные. ... избегайте подачи данных журнала, это сокрушит внутренние структуры, убив перфорацию, если не произойдет ошибка. В конвейере можно сделать что-то, чтобы изменить то, что нужно искать, чтобы облегчить боль некоторых данных журнала.
Также необходимо убедиться, что ваш индекс настроен хорошо, по крайней мере, 6 разделов с акцентом на то, чтобы нижние порядка были достаточно пустыми. Трудно вдаваться в детали этого, не зная больше о развертывании. Конфигурация конвейера также может оказать большое влияние ... ни один документ не должен занимать 5-8 часов. Обязательно замените любые этапы searchexport или htmlexport, используемые с пользовательскими экземплярами, на нормальное время ожидания (30-60 секунд) - по умолчанию время ожидания отсутствует.
Последний пункт ... Скорее всего, независимо от того, как настроена подача, конвейер будет давать ошибки в некоторых документах. Вам нужно быть готовым либо принять это, либо ссылаться только на метаданные (есть и другие варианты, но здесь они выходят за рамки возможного).
удачи.