You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Request for Guidance on Reducing Node Size and Improving Performance
Hello Cosmos SDK Team,
I am working on optimizing the performance of our Cosmos SDK-based application. To achieve this, I am considering building a custom version of our application that includes only the necessary modules. This should significantly reduce the binary size and improve performance. My plan is to split our application into multiple binaries, with each binary handling different sets of modules. This approach should allow us to manage modules with distinct responsibilities or resource requirements more effectively.
The proposed design involves the following steps:
1. Define Two Separate Applications:
Create two different application definitions, each including only the necessary modules.
2. Create Separate app.go Files:
/app
/app1.go
/app2.go
For instance, we would have app1.go and app2.go in the app/ directory, each initializing a different set of modules.
3. Update Build Scripts:
Modify our build scripts to compile these two different applications into separate binaries.
build:
go build -o build/app1 ./app/app1.go
go build -o build/app2 ./app/app2.go
4. Deploy and Run:
Deploy and run these two binaries independently.
Our goal is to split the workload and manage resources more effectively. Each binary will only handle the modules it includes, potentially reducing the overall resource usage per node.
Concerns:
One of my primary concerns is ensuring that the two separate binaries can use the same Tendermint connection, as our overall application relies on consistent and unified communication with Tendermint.
Could you please advise if this approach is feasible with the Cosmos SDK? Additionally, any insights or best practices you could share regarding the implementation of this design would be greatly appreciated.
Thank you very much for your assistance. @tac0turtle
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Request for Guidance on Reducing Node Size and Improving Performance
Hello Cosmos SDK Team,
I am working on optimizing the performance of our Cosmos SDK-based application. To achieve this, I am considering building a custom version of our application that includes only the necessary modules. This should significantly reduce the binary size and improve performance. My plan is to split our application into multiple binaries, with each binary handling different sets of modules. This approach should allow us to manage modules with distinct responsibilities or resource requirements more effectively.
The proposed design involves the following steps:
1. Define Two Separate Applications:
2. Create Separate
app.go
Files:app1.go
andapp2.go
in theapp/
directory, each initializing a different set of modules.3. Update Build Scripts:
4. Deploy and Run:
Our goal is to split the workload and manage resources more effectively. Each binary will only handle the modules it includes, potentially reducing the overall resource usage per node.
Concerns:
Could you please advise if this approach is feasible with the Cosmos SDK? Additionally, any insights or best practices you could share regarding the implementation of this design would be greatly appreciated.
Thank you very much for your assistance.
@tac0turtle
Beta Was this translation helpful? Give feedback.
All reactions