MOO Database Size

2 views
Skip to first unread message

Brendan B

unread,
Jan 18, 2017, 9:53:24 AM1/18/17
to MOO Talk
Hey Folks,

The game I help run has a database clocking in at about 95 megabytes currently.  We're running LambdaMOO 1.8.1.  We've been online almost 20 years and have taken care to avoid bloat with the game.  However, I wanted to get a baseline for what you folks have seen in terms of database sizes.  It 95 megs a huge amount?  Is it normal?  What problems might we face as the database continues to grow?

I'm aware the database is loaded into memory in it's entirety, but I'm also aware that we live in an age of cheap hardware and nearly (to a MOO server designed to run on hardware from 1992) unlimited RAM.

Are there other considerations, outside overall size, like total objects, that need to be considered?  For instance if we have a high amount of objects, are we slowing the entire game down when running certain verbs that need to parse through an ever increasing list of objects?  (probably?).

Any feedback would be greatly appreciated!

-- Brendan

Littlefield, Tyler

unread,
Jan 18, 2017, 9:57:06 AM1/18/17
to Brendan B, MOO Talk
> --
> You received this message because you are subscribed to the Google
> Groups "MOO Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to MOO-talk+u...@googlegroups.com
> <mailto:MOO-talk+u...@googlegroups.com>.
> To post to this group, send email to MOO-...@googlegroups.com
> <mailto:MOO-...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/MOO-talk.
> For more options, visit https://groups.google.com/d/optout.
Hello,
95 mb is pretty small, so you should be fine there.
Depending on how you're running through your list of objects you could
be presumably slowing things down. If you're doing npcs, just make sure
you're doing something like running through all descendants of $npc or
something and also include a $cu:suspend_if_needed(0). Generally 95 MB
probably means you might have 30k objects tops, which isn't bad. Just
insure that you're recycling with $recycler:_recycle. Also worth note is
that if you have players who have say 500 bullets, make a container to
hold the bullets, store a count property on it and only create a bullet
when they need one. This way you can destroy all 500 per player and have
one factory that will manage them.

HTH,

--
Take care,
Ty
Twitter: @sorressean
Web: https://tysdomain.com
Pubkey: https://tysdomain.com/files/pubkey.asc

Chris Norman

unread,
Jan 18, 2017, 9:59:11 AM1/18/17
to MOO-...@googlegroups.com

I've not tested it, but I bet if you had more than $maxint objects something nasty would happen..


I know that Miriani's DB is somewhere in the 700 mb range, so by that you're doing fine. I have no clue how big Hell MOO is, but I know they're nearly at 1 mill objects.


I believe your main thing would be when the server dumps. I believe that it copies itself in place when that happens, so that would slow down some (although 200 mb for your current size doesn't seem too bad).


Try making a test db and loading it with a bunch of dummy objects? Add verbs or properties to them all, and see what gives?


HTH,

--
You received this message because you are subscribed to the Google Groups "MOO Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to MOO-talk+u...@googlegroups.com.
To post to this group, send email to MOO-...@googlegroups.com.

Brendan B

unread,
Jan 18, 2017, 10:18:47 AM1/18/17
to MOO Talk
Thanks for the replies.  We definitely utilize the factory pattern with regards to creation of items, and limit out $ou:descendents to specific classes of objects.

HellMOO has a million objects?  That is intense.
Reply all
Reply to author
Forward
0 new messages