tracing latency issue

64 views
Skip to first unread message

yafimk

unread,
May 4, 2020, 11:32:12 AM5/4/20
to golang-nuts
Hey all,
I've been trying to optimize a simple dns resolver i've built.
Its intended to run on relatively small linux based machines with 1 cpu usually and not a lot of ram.
Now, I'm testing it with some load testing tool (flamethrower) and im seeing constant average of response on those machines. (on my dev machine i've limited number of cores to 1 and seeing better results).
this is for several seconds - i think i see good behavior for some ms but then i see that one of the threads goes to syscall and the other isnt running.

Screen Shot 2020-05-04 at 18.04.25.png


zoom up to one of those "holes" -

Screen Shot 2020-05-04 at 18.05.02.png

there are several calls happening but mostly nothing happens here for several hunderd ms (which has an impact on our results)
on the other hand -  i have this area - in which everything seems to go fine till one thread is moving to sys call (green) and the other stops running (pink) -

Screen Shot 2020-05-04 at 18.06.46.png

My main question would be - where should i focus to optimize next?
Is it possible that this is simply due to system constraints and i don't have much to do here? (beside maybe memory optimizations... )

thanks ahead.




Robert Engels

unread,
May 4, 2020, 8:01:13 PM5/4/20
to yafimk, golang-nuts
You might want to look at github.com/robaho/goanalyzer which I think is more useful when doing latency analysis. 

On May 4, 2020, at 10:13 AM, yafimk <FkP...@gmail.com> wrote:

Hey all,
I've been trying to optimize a simple dns resolver i've built.
Its intended to run on relatively small linux based machines with 1 cpu usually and not a lot of ram.
Now, I'm testing it with some load testing tool (flamethrower) and im seeing constant average of response on those machines. (on my dev machine i've limited number of cores to 1 and seeing better results).
this is for several seconds - i think i see good behavior for some ms but then i see that one of the threads goes to syscall and the other isnt running.


zoom up to one of those "holes" -

<Screen Shot 2020-05-04 at 18.05.02.png>

there are several calls happening but mostly nothing happens here for several hunderd ms (which has an impact on our results)
on the other hand -  i have this area - in which everything seems to go fine till one thread is moving to sys call (green) and the other stops running (pink) -

<Screen Shot 2020-05-04 at 18.06.46.png>

My main question would be - where should i focus to optimize next?
Is it possible that this is simply due to system constraints and i don't have much to do here? (beside maybe memory optimizations... )

thanks ahead.




--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/b38db88e-ee47-4d8b-8335-c3d675264ae8%40googlegroups.com.
<Screen Shot 2020-05-04 at 18.04.25.png>
<Screen Shot 2020-05-04 at 18.05.02.png>
<Screen Shot 2020-05-04 at 18.06.46.png>
Reply all
Reply to author
Forward
0 new messages