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

Explicit errors, compression settings and get_multi perf improvement #278

Merged
merged 9 commits into from Oct 29, 2012

Conversation

tmm1
Copy link
Contributor

@tmm1 tmm1 commented Oct 29, 2012

Includes a bunch of stuff. Opening this pull request for review. I can split out the separate features, or feel free to cherry-pick whatever.

The get_multi fix (d1e9d20) improves performance when using large server pools:

Before:

Dalli::Client#get_multi
  Dalli::Server#getkq(@hostname="memcache25", key="github-production-dalli:commit:3:n19313284:ad289b076eb869cce1d4c18f27f478977c855693") <0.000129>
  Dalli::Server#noop(@hostname="memcache1") <0.000236>
  Dalli::Server#noop(@hostname="memcache2") <0.000306>
  Dalli::Server#noop(@hostname="memcache3") <0.000254>
  Dalli::Server#noop(@hostname="memcache4") <0.000282>
  Dalli::Server#noop(@hostname="memcache5") <0.000248>
  Dalli::Server#noop(@hostname="memcache6") <0.000346>
  Dalli::Server#noop(@hostname="memcache7") <0.000472>
  Dalli::Server#noop(@hostname="memcache8") <0.000658>
  Dalli::Server#noop(@hostname="memcache9") <0.000685>
  Dalli::Server#noop(@hostname="memcache10") <0.000885>
  Dalli::Server#noop(@hostname="memcache11") <0.000277>
  Dalli::Server#noop(@hostname="memcache12") <0.000209>
  Dalli::Server#noop(@hostname="memcache13") <0.000664>
  Dalli::Server#noop(@hostname="memcache14") <0.000631>
  Dalli::Server#noop(@hostname="memcache15") <0.000371>
  Dalli::Server#noop(@hostname="memcache16") <0.001067>
  Dalli::Server#noop(@hostname="memcache17") <0.000187>
  Dalli::Server#noop(@hostname="memcache18") <0.000241>
  Dalli::Server#noop(@hostname="memcache19") <0.000187>
  Dalli::Server#noop(@hostname="memcache20") <0.000221>
  Dalli::Server#noop(@hostname="memcache21") <0.000269>
  Dalli::Server#noop(@hostname="memcache22") <0.000369>
  Dalli::Server#noop(@hostname="memcache23") <0.000624>
  Dalli::Server#noop(@hostname="memcache24") <0.000244>
  Dalli::Server#noop(@hostname="memcache25") <0.000318>
Dalli::Client#get_multi <0.012049>

After:

Dalli::Client#get_multi
  Dalli::Server#getkq(@hostname="memcache25", key="github-production-dalli:commit:3:n281326473:0aefbada267b71191b89b0d50eeb6f1d3a90d385") <0.000129>
  Dalli::Server#noop(@hostname="memcache25") <0.000373>
Dalli::Client#get_multi <0.000761>

Ideally get_multi would go further to avoid serialized blocking reads in the multiserver case. I started on something like this in 090889c.

mperham added a commit that referenced this pull request Oct 29, 2012
Explicit errors, compression settings and get_multi perf improvement
@mperham mperham merged commit 3163a02 into petergoldstein:master Oct 29, 2012
@mperham
Copy link
Collaborator

mperham commented Oct 29, 2012

Looks like some spec failures.

@mperham
Copy link
Collaborator

mperham commented Oct 29, 2012

Also, give yourself some credit in the changelog for all the hard work! 🍰

This was referenced Oct 29, 2012
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.

None yet

2 participants