Comments (6)
Created https://github.com/stellar/ops/issues/2536 request for provisioning new instances.
Hello @urvisavla , I left a comment for considertaion of using k8s for provisioning new instances rather than ec2:
https://github.com/stellar/ops/issues/2536#issuecomment-1728517511
from go.
Some unknowns to investigate here. Notably, how much API load we assume that users will have. Potentially use existing goreplay setup but filtered/reduced depending on what we decide.
from go.
@urvisavla , during verification of compute resources, wanted to mention it should include ENABLE_CAPTIVE_CORE=true
and CAPTIVE_CORE_USE_DB=true
, I think those are the defaults at this point. Since, captive core with disk db usage will dramatically lower the amount of RAM used by captive, current pre-reqs in docs mention 32GB
of ram required, but with on-disk usage, that should be well under 8GB in almost all cases if not lower - #4092 (comment)
from go.
@urvisavla , during verification of compute resources, wanted to mention it should include
ENABLE_CAPTIVE_CORE=true
andCAPTIVE_CORE_USE_DB=true
, I think those are the defaults at this point. Since, captive core with disk db usage will dramatically lower the amount of RAM used by captive, current pre-reqs in docs mention32GB
of ram required, but with on-disk usage, that should be well under 8GB in almost all cases if not lower - #4092 (comment)
@sreuland
We observed RAM usage on the ingestion instance (dev cluster) to remain below 8GB, usually hovering around 6GB. However, during state-verification, the RAM usage spikes to 11GB and remain so for the entire duration of state-verification. Meanwhile, the memory usage on the API instance (prod cluster) remains consistently below 3GB. I believe that the main contributor to memory usage is the in-memory graph for path payments.
Considering these observations and given that our recommendations are for an instance serving all functions (API + ingestion), 16GB RAM should be adequate. I will update our documentation to reflect this recommendation.
from go.
Update:
-
Shared a document with the team detailing observations from EC2 and RDS instances from the dev and prod clusters
-
Updated the hardware specifications, including CPU, memory, and disk, in our public docs within the partner-experience branch (to be merged to the main branch soon).
-
Unfortunately, couldn't obtain hardware benchmarks for running an API instance due to the absence of API traffic in both staging and dev clusters.
-
Explored options like using the 'go-replay' tool for mirroring traffic, but it proved to be unfeasible #2461.
-
Next steps:
Explore developing a custom tool to simulate requests from prod (using logs from AWS) and replay them on dev cluster. And for that we'd want to use instances with specifications similar to what we plan to recommend in our public docs. Created ops request for provisioning new instances.
from go.
@urvisavla , you mentioned a performance benchmarks doc was shared, can it be linked or summ'd here also? Thanks!
from go.
Related Issues (20)
- stellar/horizon: Figure out difference from core in path payment ingestion HOT 1
- Create Horizon Configuration File
- services/horizon/flags: refined cli help content HOT 1
- services/horizon: use of strict captive-core config makes horizon unnecessarily incompatible with new stellar-core features HOT 1
- Eviction of Soroban ledger entries can lead to Horizon having invalid asset stats HOT 4
- horizon: TestFillGaps and TestReingestDB are flaky HOT 6
- Add Flag to truncate full href URL in responses
- services/horizon: deprecate command-line parameter usage in favor of env vars
- services/horizon: support configuration via configuration files HOT 1
- services/horizon: Document horizon setups of partners
- services/horizon: fix long-running payment migration HOT 2
- Remove unused indexes from horizon schema HOT 8
- services/horizon: investigate db connection management anomalies
- Write a knowledge document on removing Horizon submission queue
- Horizon does not account for expired contract balances in asset stats endpoint HOT 3
- Horizon payments query can degrade depending on distribution of operations
- services/horizon: Decouple reaping module from Horizon App
- xdr: update XDR for soroban pubnet release HOT 1
- Evaluate core change impact of renaming LedgerCloseMetaV2 to V1 since V1 is not currently used
- services/horizon: submitting soroban tx without sorobanData results in 500 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go.