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

Revamp label compression code which (+ some cleanups) speeds up large packet creation by ~40% #4373

Merged
merged 13 commits into from Sep 1, 2016

Conversation

Projects
None yet
4 participants
@ahupowerdns
Member

ahupowerdns commented Aug 27, 2016

This is a big change that comes with a number of new tests.

After:
'write big referral' 0.10 seconds: 67707.6 runs/s, 14.77 usec/run
Before:
'write big referral' 0.10 seconds: 42556.4 runs/s, 23.50 usec/run

A 37% improvement.

Impact on root-server performance:
rootplot

Is in line with these numbers - we now have good service in 4 cores up to around 80kqps, trouble used to start a bit beyond 40kqps. This graph has 60% packet cacheability.

ahupowerdns added some commits Aug 26, 2016

@pieterlexis pieterlexis added this to the auth-4.1.0 milestone Aug 30, 2016

}
catch(std::bad_alloc& ba) {
if(l_verbose)
cout<<"Domain "<<name<<" too large to compress"<<endl;

This comment has been minimized.

@rgacogne

rgacogne Sep 1, 2016

Member

If I'm not mistaken, name is not the culprit here, the message might be misleading.

@rgacogne

rgacogne Sep 1, 2016

Member

If I'm not mistaken, name is not the culprit here, the message might be misleading.

}
// memcmp here makes things _slower_
pvect.clear();
try {

This comment has been minimized.

@rgacogne

rgacogne Sep 1, 2016

Member

I wonder if we could compute pvect once when inserting a new entry into d_namepositions and store it instead.

@rgacogne

rgacogne Sep 1, 2016

Member

I wonder if we could compute pvect once when inserting a new entry into d_namepositions and store it instead.

@rgacogne

This comment has been minimized.

Show comment
Hide comment
@rgacogne

rgacogne Sep 1, 2016

Member

Looks fine!

Member

rgacogne commented Sep 1, 2016

Looks fine!

@ahupowerdns ahupowerdns merged commit 0669f70 into PowerDNS:master Sep 1, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@Habbie Habbie added auth and removed auth labels Sep 2, 2016

@ahupowerdns ahupowerdns modified the milestone: auth-4.1.0 Feb 23, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment