Как проверить закреплённые в кэше code ID CosmWasm
При медленном вызове контракта полезно проверить настройку закрепления кода. Модуль wasm отдельно перечисляет code ID, для которых установлено закрепление.
Сопоставьте текущий code ID со списком
Используйте TLS gRPC wasmd с reflection. Сначала получите текущий code ID экземпляра из ContractInfo, затем проверьте PinnedCodes. Дочитайте все страницы до вывода об отсутствии ID.
grpcurl -d '{"pagination":{"limit":"100"}}' "$GRPC" cosmwasm.wasm.v1.Query/PinnedCodes
Если ContractInfo вернул код 31, а полный список закреплённых содержит 7 и 19, текущий код этого экземпляра не отмечен как закреплённый. У остальных экземпляров кода 31 будет та же настройка.
Отдельно измерьте производительность
Закрепление относится к кэшированию кода. Ответ не измеряет задержку запросов, стоимость чтения хранилища или нагрузку CPU конкретной ноды. Сравните время одинакового smart query на одном состоянии, прежде чем объяснять замедление политикой кэша. github.com wasmd Query API