Однако время ответа слишком сильно увеличивается.
Я просто запускаю проект в 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
];
}
профилирование часового механизма:
введите здесь описание изображения
Подробнее здесь: https://stackoverflow.com/questions/785 ... ql-package