• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Is xenforo a memory hog?

mrb1972

Active member
#1
Hi

I have recently switched from vb4+vbseo too xenforo, I am running a Vps with 1.5gb ram, I had some server problems a couple of days ago, it was mid afternoon , activity was low about (10 members, 100 guests) server load was low so I contacted my host.

They basically said memory was low and I should buy some more

Can anyone a bit more knowledgable then me give me some advice, is 1.5gb enough?
 

Edrondol

Well-known member
#2
When they said memory was low did they say what memory? For example, I had issues with a /temp directory that was cycling and it caused the site to bog down. I ended up going into my WHM and doing a graceful restart of the server.

With that much ram you should be having NO issues with XF unless you have a metric ton of addons.
 

craigiri

Well-known member
#3
You didn't mention your db size. It is my understanding that innodb tables often (based on mysql cnf) load into ram to a large degree. You can change the setting to make less of them do so.

Size of db may have more to do with RAM use than the number of people.

1.5 is a reasonable amount - but you may have to adjust your mysql and apache settings to match. No harm upping the RAM to 2 gig if it is cheap!
 

mrb1972

Active member
#4
These are the readings im being given and also what I see when I log into plesk
Total - 1.50 GB
Used - 1.48 GB
Free - 20.67 MB
Shared 0
Buffer - 44.21 MB
Cached - 638.28MB
Usage - 57.1%

Database size is about 1.5Gb
 

craigiri

Well-known member
#5
Ok, I make no claim to be an expert...but, your db is bigger than your RAM - not a big deal, but you have to set your mysql conf file so it doesn't hog all the memory.

I think the most relevant setting is the innodb buffer size:
http://www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/

If your VPS is supported, ask your admin (hosts) to set the mysql conf so the total of the mysql stuff (that is, the innodb buffer and other such buffers) run about 1 Gig total. That will leave .5 gig for apache and all the other processes. Also, they should set the apache httpd.conf to not create more children and servers than would easily fit into that .5 gig.

That's a slightly educated guess, but it may be a starting point. You can then adjust the settings once you get an idea of how much free RAM there is. In my experience, there needs to be some RAM room, maybe at least 10% or more when the server is really at it's busiest (loaded up all processes and buffers). Maybe more.
 

Ghan_04

Active member
#6
Yes, MySQL config is a good place to start here. I'd say give the InnoDB buffer around 768 MB of RAM to work with, which should be enough to take care of your indices and few tables. Also check your webserver config to see if there is some tuning you can do there. ~100 - 150 users online should not cause the webserver much grief at all even with fairly restricted settings.
 

p4guru

Well-known member
#8
Hi

I have recently switched from vb4+vbseo too xenforo, I am running a Vps with 1.5gb ram, I had some server problems a couple of days ago, it was mid afternoon , activity was low about (10 members, 100 guests) server load was low so I contacted my host.

They basically said memory was low and I should buy some more

Can anyone a bit more knowledgable then me give me some advice, is 1.5gb enough?
yup plesk can be pesky hehe

If you're on centos/rhel based server, might want to run mysqlmymonlite.sh to grab some server usage stats - takes less than <12 seconds to gather stats. Not idea if it works on plesk though. Combine with http://www.linuxatemyram.com/ info on how linux uses memory, you can look at the stats and see if you need more memory and where it's being used.

from stats you provided, maybe on low side but depends on how mysql memory usage is distributed amongst myisam/innodb index/data.
 

mrb1972

Active member
#9
Ok I have contacted my host - all they have done is given the root login to access via SSH - not really helpful -

This is what I get running free-m
free.jpg

So can I view the mysql config file from SSH to see what the buffer size is?
 

MattW

Well-known member
#12
You are using swap which will slow down your site. Need to bump up your server resource for more ram.
Not really, his image shows there is actually 719MB of RAM free, and using 816MB, so only just over 50% of the available RAM.

Example on mine:
Code:
z22se@z22se.co.uk [~]# free -m
            total      used      free    shared    buffers    cached
Mem:          3072      3046        25          0        143      1311
-/+ buffers/cache:      1591      1480
Swap:        2047          0      2047
Ok I have contacted my host - all they have done is given the root login to access via SSH - not really helpful -

This is what I get running free-m
View attachment 28000

So can I view the mysql config file from SSH to see what the buffer size is?
Yes, have a look at /etc/my.cnf to see the mysql settings.

Also install HTOP to keep track of the CPU/Memory etc while logged into the server.
htop.png
 

MattW

Well-known member
#14
ok my checked my config file , only one innodb setting isnt prefixed with # and that is

innodb_buffer_pool_size=128m
I've got this in mine

Code:
innodb_additional_mem_pool_size=16M
innodb_buffer_pool_size=1G
innodb_file_per_table=1
innodb_log_buffer_size=4M
innodb_flush_log_at_trx_commit=2
 

MattW

Well-known member
#16
All the other settings are being ignored, as the # makes them a comment, and not an active setting.

Try setting the innodb_buffer_pool_size to 768M as previously stated, and see if that makes a difference.
 

MattW

Well-known member
#19
Hmm, there is something setting the maximum ram available to a ridiculously high amount.

It's not looking bad, apart from the innodb_buffer_pool_size, which you could do with increasing.

What else is in your my.cnf file (for MyISAM etc)?
 

mrb1972

Active member
#20
Hmm, there is something setting the maximum ram available to a ridiculously high amount.

It's not looking bad, apart from the innodb_buffer_pool_size, which you could do with increasing.

What else is in your my.cnf file (for MyISAM etc)?
Sorry I uploaded the wrong screen shot - this is the correct one
tuner.jpg