Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Hi,
I'm maintainer of Memcache Storage module. This module is alternative to Memcache module, but its works faster and more stable (see difference).
I'd love to move Memcache Storage into 7.x-2.x branch of Memcache module and continue development here.
What do you think about it?
Comments
Comment #1
podaroknice to see collaboration here
+1
Comment #2
andypost+1 to 7.x-2.x-dev branch
Comment #3
Jeremy CreditAttribution: Jeremy commentedCan you provide a little insight into the background of the Memcache Storage code base? Is it entirely from scratch, or a fork, or a combination?
Also, can you provide more insight into your performance tests -- what was the process for setting up the test, and what tools were used? The more detail you can provide, the better.
Comment #4
SpleshkaIt's entirely from scratch.
I tried to apply some features from Memcache module, use memcache best practise, and used my expirience with memcached on my high-load projects.
About performance test, see code I used to compare speed :
First I set Memcache Storage as cache backend and run this code, then set Memcache and repeat this test again.
Comment #5
Jeremy CreditAttribution: Jeremy commentedI will try and make time to spin up a regression-testing image I built some time ago to debug and performance test a number of issues in the memcache module. I'm pretty busy at the moment though, and can't promise anything.
I'm not in support of putting a brand new and relatively untested code base into the 7.x-2.x branch at this time; I'd much rather see effort go into bug fixing and otherwise improving the current code base (I'm aware we've done a really poor job of keeping up with the issue queue for a crazy long time). Regardless, I'll still try and find time to run a complete regression test on your code base and see if that changes my mind.
Comment #6
SpleshkaOk, thanks Jeremy, I'll be looking forward your results. Please, feel free to ask me for any help you need.
Comment #7
quicksketchHi @Jeremy and @Spleshka. It's great to see collaboration here. The memcache module has been sorely lacking any development work for years now. The README/INSTALL.txt files don't even include D7 instructions yet and #1536222: Update README.txt for Drupal 7, remove INSTALLATION.txt has been sitting dormant for almost a year. The attitude towards Memcache 7.x-1.x has always been "it sorta works but is probably broken", and so I wouldn't mind a new branch entirely to remove that stigma.
Comment #8
Jeremy CreditAttribution: Jeremy commented@quicksketch collaboration would be working together to clean up this module. Throwing it all away and starting over is in no way collaboration, and is better done in a new project, as has already been done.
Comment #9
quicksketchYeah, fair enough. Even if it's not collaboration on the existing project, I'd advocate that the best module get the memcache namespace. I haven't validated that Memcache Storage is superior, but if it turns out to be the case I'd like to see it take the namespace. The memcache project has been neglected for so long my assumption is that anything has to be better than the current situation.
Comment #10
DamienMcKenna+1 to making positive progress.
Comment #11
Spleshka@Jeremy, any progress with review/tests of Memcache Storage?
Comment #12
markpavlitski CreditAttribution: markpavlitski commented@Spleshka Here are the results I get from running your test script. This is just with a basic default configuration, so it would be interesting to see what settings you use.
memcache_storage:
10 000 sets: 974.13 ms
10 000 gets: 901.09 ms
10 000 deletes: 597 ms
Page execution time was 2574.65 ms
memcache (PECL Memcached):
10 000 sets: 545.75 ms
10 000 gets: 770.11 ms
10 000 deletes: 280.89 ms
Page execution time was 1714.31 ms
memcache (PECL Memcache):
10 000 sets: 1334.58 ms
10 000 gets: 975.19 ms
10 000 deletes: 737.08 ms
Page execution time was 3257.84 ms
It looks like the memcache module using the PECL Memcached extension comes out on top, though the memcache_storage module is faster when comparing like for like with the memcache extension. Do you have any plans to implement the PECL Memcached extension as well?
Comment #13
Spleshka@markpavlitski,
Thanks for the test results! I never run this script for PECL memcached extension, but now I will definitely do it. And if PECL memcached will be faster I will implement this extension too, sure.
About module settings - I can't reproduce them now, but I changed this two settings to get my results:
Comment #14
Jeremy CreditAttribution: Jeremy commentedUpdating title and Status -- as noted before, I'm only interested in improvements and bugfixes, not wholesale replacement.
Comment #15
ygerasimov CreditAttribution: ygerasimov commentedJeremy, can you please add link to memcache_storage module on the project page of memcache module? #1940554: Memcache module alternative
Comment #16
andypostI think better way to allow Memcache storage to grow a bit - to get more eyes on its code.
There's no test coverage on new module so they should be written to get a chance to replace.
Let's leave postponed while working on #1974254: Memcache Storage Roadmap
Comment #17
Spleshka@markpavlitski,
Added PECL Memcached support to Memcache Storage then run some tests using the same script:
For PECL Memcached I used this settings:
For PECL Memcache was used default settings.
As you may see, Memcache Storage + PECL Memcached + Unix sockets are best choise for now.
Comment #18
SpleshkaToday Memcache Storage got stable release. Can we continue discussion about merging it into 7.x-2.x branch of Memcache API?
Comment #19
Jeremy CreditAttribution: Jeremy commentedAs noted before, I'm only interested in improvements and bugfixes, not wholesale replacement.
Comment #20
deanochips CreditAttribution: deanochips commentedmaybe working together on a release for Drupal 8,
ready for when its released might be a solution.....
Comment #21
SpleshkaI will provide release for D8 after 1st of July, but for Memcache Storage.
Comment #22
Spleshka@Jeremy,
What if I migrate Memcache Storage to D8 and then we merge it into 8.x of Memcache API? Or you want to make your own migration for Memcache API?
Comment #23
Jeremy CreditAttribution: Jeremy commentedIf you want to help make incremental improvements to the existing Memcache API, that's fantastic. I'm not interested in a wholesale replacement in any branch.
Comment #25
meba CreditAttribution: meba commentedRe: speed: #2056493: Dubious claims on project page about Memcache API