Я столкнулся с немного странной проблемой с API. Я использую historyGet ()
чтобы получить большое количество предметов, скажем, в течение 5 минут.
Затем я использую itemGet () и выдаю itemId в качестве параметра для получения элемента, и мне нужны подробности всех исторических элементов за определенный период времени.
$items = $api->itemGet(array(
'output' => 'extend',
'itemids' => $itemId
));
Проблема в том, что я получаю около 3000 предметов из истории. Я создаю массив идентификаторов элементов с именем itemId [] и передаю этот массив элементов 3000 (ish) в качестве параметра для itemGet (), но он возвращает только около 746 элементов за раз.
Я считаю, что бутылочное горлышко — это количество элементов, прочитанных zabbix из массива. Я полагаю, что это только чтение первого бита массива и, возможно, исчерпание памяти.? и отправка только прочитанных идентификаторов предметов.
В настоящее время я отправляю массив в цикле, так что он получает n числа элементов с фронта, как его читает API.
Другое решение, возможно, сокращает промежуток времени, так что я получаю менее 746 единиц… но это не очень хорошее долгосрочное решение, так как плотность данных может увеличиться. Много.
Мне интересно, есть ли способ увеличить количество элементов, считываемых из массива itemId?
Большое спасибо,
Каран
Задача ещё не решена.
Других решений пока нет …