Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Graphite fixes2 #488

Closed
wants to merge 3 commits into from
Closed

Conversation

Dieterbe
Copy link
Contributor

this is the continuation of #444 and is not ready for merging.
it's rebased on the current master, and I also added a new patch to have no unneeded series objects with single points, but keep points together in series objects.

(bench) results:

new before (master):

[dieter.plaetinck@dfvimeographite1 tomselleck]$ head -n 1000  generate_proto1_metrics.txt | ./tomselleck -addr :2003 -workers 10 -requests 100 -maxprocs 2
2014/04/30 16:52:20 {<nil>:2003 10 100 false false} 1000

Tom Selleck Reports:

Address to hit: :2003 (<nil>:2003)
 * 10 workers
 * 100 reqs per worker

Connects: 1000
ConnectsErrors: 0
BytesWritten: 43909000
BytesRead: 0
BytesReadErrors: 0
EmptyResponses: 1000
UnexpectedLengthResponses: 0

Breakdown by percentile:
Pctl       Best        Wrst
50%    54.532us   414.797us
60%   415.117us   478.386us
70%   479.768us   536.902us
80%   537.814us   610.429us
90%   610.577us   661.686us
95%   662.758us   686.713us
96%    688.04us   704.953us
97%   707.746us    736.22us
98%   764.471us       889us
99%   955.593us  2.752421ms
All    54.532us  2.752421ms

Total time: 39.342382ms
Reqs per sec: 25417.881
Avg req time: 371.619us
Median req time: 370.65us

=> a bit faster indeed than the previous 'before' (master)
and the only errors in the log are Got to the end of the write buffer without getting to the last written request. which is fine (see #444)

the batched writes performance is still really bad, comparable to my previous patchset.
(this is just the rebase, without the extra commit that groups points in series objects)

[dieter.plaetinck@dfvimeographite1 tomselleck]$ head -n 1000  generate_proto1_metrics.txt | ./tomselleck -addr :2003 -workers 10 -requests 100 -maxprocs 2
2014/04/30 16:55:49 {<nil>:2003 10 100 false false} 1000

Tom Selleck Reports:

Address to hit: :2003 (<nil>:2003)
 * 10 workers
 * 100 reqs per worker

Connects: 1000
ConnectsErrors: 0
BytesWritten: 43909000
BytesRead: 0
BytesReadErrors: 0
EmptyResponses: 1000
UnexpectedLengthResponses: 0

Breakdown by percentile:
Pctl       Best        Wrst
50%    52.124us   427.819us
60%    427.84us   488.815us
70%   490.456us   552.538us
80%   553.025us   668.197us
90%    668.89us2.999761678s
95%2.999770136s2.999971186s
96%2.999992863s3.000133372s
97%3.000142783s3.000283211s
98%3.000284337s 3.00039835s
99% 3.00041448s3.000847178s
All    52.124us3.000847178s

Total time: 18.036579762s
Reqs per sec: 55.443
Avg req time: 165.355223ms
Median req time: 391.971us

the last commit is not finished yet, i got a panic and couldn't figure it out yet.

[04/30/14 18:23:06] [INFO] Starting Http Api server on port 8086
[2014/04/30 18:23:06 EDT] [INFO] (server.(*Server).ListenAndServe:131) Starting Http Api server on port 8086
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x8 pc=0x4994f1]

goroutine 23 [running]:
runtime.panic(0x9e67a0, 0x121abc8)
        /usr/lib64/golang/src/pkg/runtime/panic.c:266 +0xb6
coordinator.(*CoordinatorImpl).CommitSeriesData(0xc2100b8700, 0xc2100aa550, 0x8, 0xc21163e000, 0x6f4, ...)
        /home/users/dieter/influxdb/src/coordinator/coordinator.go:583 +0x161
coordinator.(*CoordinatorImpl).WriteSeriesData(0xc2100b8700, 0x7ff8f06dbad0, 0xc21006f500, 0xc2100aa550, 0x8, ...)
        /home/users/dieter/influxdb/src/coordinator/coordinator.go:474 +0x20f
api/graphite.func·002(0xc2100b9720)
        /home/users/dieter/influxdb/src/api/graphite/api.go:139 +0x30d
api/graphite.(*Server).committer(0xc210046720)
        /home/users/dieter/influxdb/src/api/graphite/api.go:176 +0x40d
created by api/graphite.(*Server).ListenAndServe
        /home/users/dieter/influxdb/src/api/graphite/api.go:92 +0x1fd

@Dieterbe
Copy link
Contributor Author

closing in favor of #644

@Dieterbe Dieterbe closed this Jun 13, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant