Skip navigation.

exploreopera

| Help

Sign up | Help

Opera community blog

fred

Behind the scenes at the Opera community

avatar

Better use of memory

Posted by kjetilk · Tags: , ,

We have just had one of our minor releases, this time it is mostly bug fixes, such as access rights problems on the blogs, and minor changes to the design.

But the big thing this time is something that you would never see if I didn't tell you about it :smile:

For some time, we have been aware that our backends have been sharing little memory between the processes. The thing is that for every browser that visits the site, the server creates a process, which does all the heavy lifting, and eventually sends whatever it comes up with back to the browser. Now, a lot of stuff will be the same for each of these processes, mostly the running code, but also some of the data. So, if the processes could just share this memory, it wouldn't really matter if it used a lot of it, since it wouldn't use much more memory even if we were visited by a lot more people. That's why this is so important.

I've been digging deep, deep in the code, and found some suspecious pieces that I rewrote, and if you look at the graph to the right, you see the bump on the red graph. That bump shows that now, a lot more memory is shared! :wizard:

Now, we're ready for many more users, so get all your friends in here! :cool:

Candy JewelleryMore information about the new release

Comments

avatar
Good work, good that we finally solved the problem! :up:

By vetler, # 6. June 2007, 08:49:10

avatar
:cool:

By Stomyr, # 6. June 2007, 08:51:32

avatar
:up:

By Tamil, # 6. June 2007, 09:02:57

avatar
I like your graph, but it needs more sharks and laserbeams.

By coxy, # 6. June 2007, 09:18:32

avatar
:lol:

By Stomyr, # 6. June 2007, 09:24:58

avatar
Good job, I like what I see.

At the same time I see that the "My account" page got a retouch, and also the "Number of posts per page:" setting is either broken, or disabled. It now defaults to 8. Just wanted to mention that.

Keep up the good work.


- ØØ -

By NoteMe, # 6. June 2007, 09:52:11

avatar
thanks guys :smile:

By angel292005, # 6. June 2007, 11:39:40

avatar
This is the central crucial point for the success or failure of the Opera blog and community. All the rest is way fine, but if you don't get these servers (singularis still!) and databases running, you're out of business - so gz on that important step! :yes:

By davidcrickett, # 6. June 2007, 12:15:54

avatar
Wow... you trippled the amount of shared memory. Congrats.

By IceArdor, # 7. June 2007, 01:47:12

avatar
Alright! :yes:

By klingoncowboy4, # 7. June 2007, 15:53:09

avatar
So... the XSLT back-end you folks are using doesn't have any parameters for code or result caching?!? That's usually a given with more mainstream solutions like php, asp, and the various SQL's.

Does it even allow you to see actual caching hits or anything of that nature?

For example, mySQL on the largest of the servers I support:

Connections per second: 1.2537
Kilobytes received per second: 1.443
Kilobytes sent per second: 1.434
Queries per second: 42.1983
Percentage of slow queries: 0
Opened vs. Open tables:
(table_cache) 10.0303 (should be <= 80)
Table cache usage:
(table_cache) 0.5189 (should be >= 0.5 and <= 0.9)
Key buffer read hit rate:
(key_buffer_size) 0.0013 (should be <= 0.01)
Key buffer write hit rate:
(key_buffer_size) 0.4985 (should be <= 0.5)
Thread cache hit rate:
(thread_cache_size) 58518.9512 (should be >= 30 )
Thread cache usage:
(thread_cache_size) 0.2344 (should be >= 0.7 and <= 0.9)
Temporary table disk usage:
(tmp_table_size) 0.2232 (should be <= 0.5)
Sort merge pass rate:
(sort_buffer) 0 (should be <= 0.001)
Query cache enabled:
(query_cache_type) 1 (should be >= 1 and <= 1)
Query cache miss rate:
(query_cache_limit) 0.0007 (should be <= 0.1)
Query cache prune rate:
(query_cache_size) 0.0097 (should be <= 0.05)

You don't have anything like that?

-- edit -- oop, looks like I need to up my thread_cache_size again.

By deathshadow, # 10. June 2007, 06:17:41

avatar
@deathshadow: Yeah, this was really a simplified view; we do a fair amount of caching, even though we probably could do more. This is a different topic, this is about making the code that actually has to run when there is no valid cache use more shared memory.

By kjetilk, # 11. June 2007, 08:26:40

avatar
excellent work!:up:

By salmondine, # 7. July 2007, 06:52:46

Write a comment

You must be logged in to write a comment. if you're not a registered member, please sign up.

get your own blog at my.opera.com
July 2008
SMTWTFS
June 2008August 2008
12345
6789101112
13141516171819
20212223242526
2728293031