Comments (9)
Great, I'll put some time into that. Thanks so far
from zetcd.
Hmm, do you see the same behavior with v0.0.4?
ref. v0.0.4...v0.0.5
from zetcd.
from zetcd.
It would be best if you can provide reproducible steps. And also try to heap-profile zetcd.
from zetcd.
I'm new to go, could you provide some guidance on enabling heap-profiling?
from zetcd.
@matthewmrichter Please enable profile via zetcd --pprof-addr
flag.
And do something like
go tool pprof -seconds=30 http://zetcd-endpoint/debug/pprof/heap
go tool pprof ~/go/src/github.com/coreos/etcd/bin/etcd ./pprof/pprof.localhost\:2379.alloc_objects.alloc_space.inuse_objects.inuse_space.001.pb.gz
go tool pprof -pdf ~/go/src/github.com/coreos/etcd/bin/etcd ./pprof/pprof.localhost\:2379.alloc_objects.alloc_space.inuse_objects.inuse_space.001.pb.gz > ~/a.pdf
Where you need to replace */bin/etcd
binaries with the zetcd
binary.
I would first try to reproduce without containerization.
from zetcd.
Ok, I think the main offender here may actually be Marathon(https://mesosphere.github.io/marathon/), not Mesos. The usage really shoots up when Marathon starts.
I converted zetcd to run as a service rather than containerized. I took a heap profile - this is shortly after startup. It already blasts up to 5 gig shortly after startup. I will keep an eye on htop for a little while to see if it begins to approach 7+ gig as well and provide another profile.
Steps to reproduce -
- Build etcd cluster or endpoint (separate autoscaling group behind a load balancer)
- On mesosmaster server, install zetcd. Configure to point to remote etcd cluster load balancer as etcd endpoint.
- On mesosmaster server, install mesos, marathon. (marathon::version : '1.4.8-1.0.660.el7', mesos::version: '1.6.0-2.0.4')
- Configure mesos and marathon to run with localhost:2181 (zetcd port) as zookeeper URL
from zetcd.
I gave it a while, and the process according to htop had gotten up to 6 gigs. Here's a second profile aftertaken at this point, looks mostly the same:
from zetcd.
Here's a qustion, based on the bottleneck being in that "ReadPacket" method..
Currently, I have etcd running on server A and marathon/zetcd on server B. Would it make more sense for zetcd and etcd to live on server A together rather than having zetcd reach out to etcd across the LAN?
from zetcd.
Related Issues (20)
- [Feature] sd_notify for systemd notification
- [Question/Feature] Etcd base key for zk schema
- 4 letter word commands leaking memory
- zookeeper exception, KeeperErrorCode = apiError
- GetChildren doesn't get children HOT 1
- Why separate keys for each metadata parameter?
- zetcd ha
- Kafka Unable to connect to zookeeper server
- How to build the project source code after change it?
- when zetcd should release v1.0.0? and is it have any tool to migrate data from zk to etcd?
- Need a new release to get rid of known vulnerabilities in the latest image HOT 1
- Performance benchmarking
- go get error:gcc_darwin_amd64.c:62:15: error: unknown token in expression HOT 1
- Proposal to mark etcd-io/zetc as public archive HOT 7
- etcd3 STM client does not Support Range fetch over keys? HOT 1
- zetcd performance HOT 3
- New version/future plans? HOT 2
- ZK MultiOp provided by zetcd not working with Kafka 2.1.0 HOT 1
- Mtime and Ctime off by a factor of 1000 HOT 1
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 zetcd.