[TYPO3-v4] Core performance for 4.6 and beyond

Dmitry Dulepov dmitry.dulepov at gmail.com
Thu Feb 10 16:46:36 CET 2011


Hi!

Just for the record: this e-mail is not attacking or unfriendly. I know it 
can be seen like that but it is not. I only try to express my feelings as a 
user this time (not as a core team member). And yes, I am disappointed...

Christian Kuhn wrote:
> Great, so you now all disadvantages of the memcache backend and why you
> shouldn't use it for serious installations.

LiveJournal uses memcached and serves millions of users with its help! 
Naturally I want to use Memcached too ;) Now you tell me TYPO3 can't work 
with Memcached? Man, everybody can, why TYPO3 can't? :)

> memcache backend sucks with heavy tagging. A backend which scales pretty
> well with tags (we have page and content cache entries with 150 tags and
> more) is native mysql (up to some level) and redis.

Could be but I want memcached! I know how fast it is because I used it and 
many people use it! If Reddit with there traffic uses Memcached [1] and 
highly recommends it, why shouldn't I listen? :) And I am sure many will 
want that too because memcached is very popular and known for high 
performance. Redis is less known. So if we do not fix memcached, we will 
definitely get "slow" and "sucks" marks. You can't tell people "Memcached 
backend sucks" because that actually means "Our implementation sucks" 
because Memcached by itself is fantastic. And if our implementation sucks, 
who cares to use it for big projects? If everybody can make a great 
memcached implementation and we can't, what does that mean in the context 
of our product? Think. In fact, we tell exactly that: "Memcached is great, 
others can use it but we can't, we do not have skills to make it work, we 
suck".

(I know that TYPO3 does not suck, it is all about what other people do. We 
can be proud of our product but others will point finger and say: "they 
can't even work well with memcached!")

> So, your comparison is 'not cached' versus 'tons of caches on different
> levels with cf', and you experience a major loss in performance. It's
> not about 'old caching' versus 'new caching', so your load numbers are
> completely irrelevant for our discussion.

No, you got it wrong :) loadavg=64 with caching framework and 3.5 without 
caching framework (just good old page cache and USER_INT objects, no my own 
cache implementation). So with caching framework on the dedicated server 
with 2 4-core XEONs I got load 64 during normal work.

I tried cached framework the way that any external user will do: use the 
most popular and easy tool - memcached. As a result disabling cache is 
better than cache. Sucks. So my numbers are very relevant. This is real 
world experiment that many will do (and fail)!

> I don't think so. Per cache 2 classes (+2 interfaces and abstracts) are
> needed: FE and BE, they are slim and codewise straight forward. The more
> caches you run the quicker is the instantiation. If you hack up your own
> caching solution for your special need, you might be quicker if done
> right. The high flexibility of the cf is it's main advantage, expecially
> for big projects.

I made only one conclusion: I will not use caching framework. It is not 
worth it. I do not want Redis, I want Memcached. You will tell I am wrong. 
But I have to work with a real huge project and existing tools, which TYPO3 
cannot use properly. Yes, I am unlucky. I have to code that myself again as 
I coded everything from community, forums, chat, etc because there is no 
suitable, optimized extensions available in TER.

Look at the on the wiki: memcached backend is bad, APC backend is bad, use 
Reddis. Is that what we say? Do we ask people NOT to install the cheapest 
solutions but to install something that very few people know and willing to 
try? Oh, my... Is that real?

[1] 
http://highscalability.com/blog/2010/5/17/7-lessons-learned-while-building-reddit-to-270-million-page.html

I really think TYPO3 goes too far theoretical :(

-- 
Dmitry Dulepov
TYPO3 core&security team member
E-mail: dmitry.dulepov at typo3.org
Web: http://dmitry-dulepov.com/


More information about the TYPO3-project-v4 mailing list