Google Sheets PHP API: Ответ на медленное чтение? - PullRequest
0 голосов
/ 21 апреля 2020

Я работаю с Google Sheets API, используя предоставленную библиотеку PHP . Испытывает удивительно длительное время загрузки. Лист, с которым я работаю в данный момент, имеет в общей сложности 25 страниц, каждый ок. 10 КБ, в среднем 100 строк x 10 столбцов.

Перед отправкой запросов на чтение мое приложение обрабатывает аутентификацию (new GoogleAuth) и создание новой службы (new Google_Service_Sheets). Это происходит только один раз на страницу загрузки. Процедура чтения - это стандартный пример API:

$response = $this->sheet->spreadsheets_values->get($sheet_id, $range);
$data = $response->getValues();

Когда я выбираю одну страницу с листа, это занимает ~ 0,6 с c. Когда я получаю 10 страниц, это 6 + se c. Использую ли я pageId для $range или pageId!A1:K10 например (первые 10 строк), это занимает много времени. (На самом деле, на чтение одной ячейки уходит одно и то же время!) Если я кеширую эти данные локально и выполняю их через одни и те же прыжки, то в обоих случаях мое приложение занимает около 0,03 se c, поэтому у меня нет узких мест кода , Время отклика одинаково на моем живом сервере и в моей локальной среде разработки.

База кода, поставляемая для API (через composer), содержит тонну материала (всего 28 МБ в файлах 10K +!). У меня не хватило смелости покопаться (пока), чтобы посмотреть, смогу ли я что-то сбрить, чтобы заставить это выступить наполовину респектабельно; ощущение, что я не должен был? Можно ожидать, что Google предоставит API, который в некоторой степени работает.

Любые подсказки, опыт или предложения по улучшению / устранению неполадок производительности API Google Sheets, пожалуйста, с PHP или иным способом? Мне трудно поверить, что это должно быть так медленно, граничить с непригодностью для более сложных дел.

Обновление: Я перезапустил PHP Quickstart заполнить временными метками, чтобы убедиться, что это не вызвано моим кодом. Между тиками вокруг вызова spreadsheets_values->get() есть разрыв 0,5 + se c. Кроме того, пробовал с другими (гораздо более легкими) таблицами. Та же самая сделка, данные давно поступили.

...