Медленный ответ после добавления пакета маяка phpgraphqlPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Медленный ответ после добавления пакета маяка phpgraphql

Сообщение Anonymous »

Я использую пакет Lighthouse-php для реализации Graphql.
Однако время ответа слишком сильно увеличивается.
Я просто запускаю проект в docker env с помощью php и mongodb.
Я делаю простой запрос тип из одной коллекции. ответ на результат занял более 2000 мс.
Я пытался добавить нумерацию страниц, но все равно это заняло то же время.
Я использую отладчик, чтобы увидеть производительность. Запросы к БД оптимизированы, на выполнение результатов запроса ушло всего 7 мс. но я не понимаю, почему общий запрос занял более 2000 мс.
Я проверяю тома докера. это правильные наборы.. игнорируется каталог поставщика. Поскольку я реализую впервые, поэтому понятия не имею, что это время является стандартным для графического анализа и выполнения запросов, или что-то пошло не так в моем сценарии.
здесь простое время запроса и преобразователь :
ЗАПРОС

Код: Выделить всё

type Query {
resultPages(filters: FilterInput,  page: Int, limit: Int): ResultPagesPagination @field(resolver: "App\\GraphQL\\Resolvers\\ResultPagesResolver@ResultPages")
}
Резолвер

Код: Выделить всё

public function ResultPage($root, array $args, GraphQLContext $context, ResolveInfo $resolveInfo)
{
$query = ResultPage::query();

if (isset($args['filters']) && isset($args['filters']['rules'])) {
$this->applyFilters($query, $args['filters']['rules'], $args['filters']['combinator'] ?? 'and');
}

// Pagination
$page = $args['page'] ?? 1;
$pageSize = $args['limit'] ?? 10;
$totalResults = $query->count();

$data = $query->skip(($page - 1) * $pageSize)
->take($pageSize)
->get();

return [
'data' => $data,
'currentPage' => $page,
'totalPages' => ceil($totalResults / $pageSize),
'totalCount' => $totalResults
];

}

Я пытался добавить нумерацию страниц. но выполнение запроса все равно заняло то же время... Я также заметил, что другие API-интерфейсы для отдыха в проекте почти заняли свое собственное время, прежде чем добавлять графкл, но только графкл занял слишком много времени. либо это нормальное поведение графа, либо в моей реализации проблемы.
профилирование часового механизма:
введите здесь описание изображения

Подробнее здесь: https://stackoverflow.com/questions/785 ... ql-package
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»