Alchemy 사용량: 투명성과 단순성 향상
작성자: Alchemy Team
배경
저희 가격 정책은 "컴퓨트 유닛(compute units)"이라는 개념을 기반으로 합니다. 이는 여러분의 앱이 Alchemy에서 사용하는 총 컴퓨팅 리소스를 측정하는 단위입니다. AWS 사용량에 대해 Amazon에 비용을 지불하는 방식과 비슷하다고 생각하시면 됩니다. 어떤 쿼리는 가볍고 빠르게 실행되고(예: eth_blockNumber) 어떤 쿼리는 더 무겁습니다(예: 대용량 eth_getLogs 쿼리). 저희는 최대한 낮은 비용을 제공하고자 쿼리 수가 아니라 실제 사용된 컴퓨트 양만을 기준으로 과금합니다.
문제점
컴퓨트가 요청마다 측정되면, 컴퓨트 유닛(그리고 그 결과인 월간 사용량)을 예측하기 어려워질 수 있습니다. 일부 메서드는 강도의 편차가 매우 큽니다(예: eth_call). 이런 메서드가 소비하는 컴퓨트 유닛은 최대 100배까지 차이 날 수 있습니다. 이 때문에 사용량을 최적화하거나 월별 비용을 예측하는 일이 필요 이상으로 복잡해집니다.
저희는 모든 고객이 Alchemy에서의 사용량을 측정하고 예측하는 과정을 단순하고 이해하기 쉽게 만들고자 합니다. 이러한 이유로, 그리고 가능한 한 개발자 친화적인 플랫폼을 만들기 위해, 컴퓨트 유닛을 측정하는 방식을 업데이트하기로 결정했습니다.
컴퓨트 유닛 업데이트
새로운 컴퓨트 유닛 모델에서는 각 메서드에 평균 강도를 기반으로 산출된 고정된 컴퓨트 유닛 수가 할당됩니다. 즉, 특정 호출을 하기 전에 그 호출이 몇 개의 컴퓨트 유닛을 소비할지 정확히 알 수 있게 되어, 예측 가능성과 투명성이 크게 높아집니다.
이 업데이트가 개발자 경험을 어떻게 개선하는지 예를 들어보겠습니다. 어떤 사용자가 10,000건의 trace 요청을 하는 경우를 생각해봅시다.
기존 컴퓨트 유닛 방식에서는 사용자가 10,000건의 trace_call 요청을 하더라도, 요청이 완료되기 전까지는 얼마나 많은 컴퓨트 유닛이 사용되었는지 알 수 없었습니다. 블록, 컨트랙트, 호출 시점에 따라 총 750,000 컴퓨트 유닛이 소비될 수도, 1,000,000 컴퓨트 유닛이 소비될 수도 있습니다. 게다가 다음에 다시 10,000건의 trace_call 요청을 하더라도 결과는 달라질 수 있습니다.
새로운 컴퓨트 유닛 모델을 사용하면, 누군가 10,000건의 trace_call 요청을 하고 호출당 75 CU가 소비된다고 할 때, 총 10,000 × 75 = 750,000 CU가 소비되며, 이는 매번 동일합니다.
추측도, 편차도 없이 공정하고 결정론적인 사용량 측정 방식입니다.
메서드별 CU 할당의 전체 목록은 수년간의 벤치마크 사용 데이터를 바탕으로 산출되었으며, 저희 문서에서 확인하실 수 있습니다.
개선된 속도 제한
현재 저희는 초당 쿼리 수(QPS)를 기본 속도 제한 기준으로 사용하고 있습니다. 이는 API에서 흔히 쓰이는 속도 제한 방식이지만, 상대적으로 정밀하지 못한 방식입니다. 이 때문에 저희는 종종 필요 이상으로 신중하게, 더 엄격한 속도 제한을 적용할 수밖에 없었습니다.
새롭게 정의된 컴퓨트 유닛을 통해, 저희는 QPS를 더 나은 측정 방식인 초당 컴퓨트 유닛(CUPS)으로 대체할 수 있게 되었습니다.
CUPS 속도 제한은 사실상 QPS에 가중치를 적용한 버전으로, 각 메서드의 가중치는 해당 메서드의 컴퓨트 강도입니다. 이 방식은 요청의 편차와 호출되는 메서드의 종류를 고려하기 때문에 더 정확한 제한이 됩니다. 이를 통해 모든 고객에게 더욱 넉넉한(많은 경우 기존보다 더 넉넉한!) 제한을 제공하면서도 훨씬 더 안정적인 전반적인 서비스를 제공할 수 있게 됩니다.
요약
전반적으로, 저희는 이번 변경이 고객분들께 큰 개선이 될 것이라고 생각합니다. 저희는 항상 여러분의 피드백을 진지하게 받아들이며, 모두가 최고의 제품을 만드는 데 집중할 수 있도록 개발자 경험을 최선으로 만들기 위해 노력하고 있습니다.
궁금한 점이나 확인이 필요한 사항이 있으면 언제든지 문의해 주시기 바랍니다. 기꺼이 도와드리겠습니다.
Alchemy 뉴스레터
출시 소식을 가장 먼저 받아보세요
뉴스레터 구독하기
Alchemy의 최신 제품 업데이트와 리소스 받기
이메일 주소를 입력하면 마케팅 커뮤니케이션 및 제품 업데이트 수신에 동의하게 됩니다. Alchemy는 저희 개인정보 처리방침에 따라 수집한 정보를 처리합니다. 언제든지 구독을 취소할 수 있습니다.
관련 아티클

Alchemy가 스테이블코인 결제를 구동하는 방식
결제는 도착했거나, 도착하지 않았거나 둘 중 하나다. Cash App, Slash, AllScale, Pana, Usual이 스테이블코인 결제의 온체인 절반을 Alchemy에서 어떻게 운영하는지 소개한다.

트레이딩 팀이 저지연 RPC로 Alchemy를 선택하는 이유
트레이딩 팀이 Alchemy를 선택하는 이유는, 시장이 움직일 때의 저지연 읽기와 쓰기, 그리고 거래량이 정점에 달해도 자금이 정산될 때의 신뢰할 수 있는 기록 때문이다.

도쿄에서 구축한다면 어떤 RPC 제공업체를 선택해야 할까
도쿄를 서비스하는 RPC 제공업체 다섯 곳을 다섯 개 체인에서 벤치마크했습니다. 비교 결과와, 지연 시간에 민감한 팀에게 차이가 어디서 나는지 정리합니다.