Linode Forum
Linode Community Forums
 FAQFAQ    SearchSearch    MembersMembers      Register Register 
 LoginLogin [ Anonymous ] 
Post new topic  Reply to topic
Author Message
PostPosted: Mon Mar 07, 2011 7:05 am 
Offline
Senior Newbie

Joined: Mon Mar 07, 2011 6:49 am
Posts: 9
im running small webserver on linode 1024 with about 20 drupal sites, all of them don`t do more than 1k page views per day. For ~3 months load on my server was about 0.5 but since morning 05 of march load on my server is about 2 !!! Also i can see that in _linode panel_ graf the load on my server have _degreased_ few times since problems started, while actual load on my server have go very UP :shock:

weekly load graph on my box: http://cgp.multi.obin.org/detail.php?p= ... =800&y=350

general info: http://cgp.multi.obin.org/host.php?h=multi.obin.org

30 days linode graph http://dl.dropbox.com/u/433776/multi-linode.png

i checked and dont see any new processes on my server, asked support and its not becouse of host linode strange usage. :?

i using the barracuda stack: its nginx, memcache, apc, solr, and aegir. https://github.com/omega8cc/nginx-for-drupal

Do you have any idea of reasons ? Thanx for any help.


Top
   
 Post subject:
PostPosted: Mon Mar 07, 2011 10:19 pm 
Offline
Senior Member

Joined: Fri Jan 09, 2009 5:32 pm
Posts: 634
A load of 2 on a 4 processor box is not catastrophic.


Top
   
 Post subject:
PostPosted: Mon Mar 07, 2011 10:42 pm 
Offline
Senior Member

Joined: Wed May 13, 2009 1:18 am
Posts: 681
Catastrophic does seem a bit strong, but a node that has established a baseline around 0.5 suddenly moving consistently up to 2 certainly seems reasonable to question what may have happened and if there is something anomalous going on.

To the OP clearly your average CPU usage did have an uptick recently, but it appears incremental rather than night and day to prior usage. I'd probably start digging into your request logs to see if you've had an increase in inbound request load. Start with some simple line counting, and perhaps see if you can identify increases in certain URLs. If you have something like awstats processing your logs that can help.

If your request load has remained constant, then I'd start looking into how much processing time your requests are taking. Assuming a database in the back-end, maybe you've finally accumulated enough data that you're exceeding memory caches and having to hit the disk more significantly to process requests than before.

Otherwise your stats seem pretty good. Seem to be fitting within memory just fine. About the only thing that seemed a little odd to me was a pretty high average packet/byte count on your loopback interface, but that could be totally normal for your configuration, but the graphs don't look far enough back in time to say if it changed recently.

-- David


Top
   
 Post subject:
PostPosted: Tue Mar 08, 2011 5:49 am 
Offline
Senior Member

Joined: Sun Mar 07, 2010 7:47 pm
Posts: 1970
Website: http://www.rwky.net
Location: Earth
Consider installing munin, it can track various cool stats which can help you track down why things happen.

_________________
Paid support
How to ask for help
1. Give details of your problem
2. Post any errors
3. Post relevant logs.
4. Don't hide details i.e. your domain, it just makes things harder
5. Be polite or you'll be eaten by a grue


Top
   
 Post subject: hmm
PostPosted: Fri Mar 11, 2011 3:52 pm 
Offline
Senior Newbie

Joined: Mon Mar 07, 2011 6:49 am
Posts: 9
well, i call it catastrophic because page load time grow from 100ms to 5 secs some times and its just pure shame ...

thanx for info folks, I will look carefully into logs.


Top
   
 Post subject: Re: hmm
PostPosted: Fri Mar 11, 2011 10:11 pm 
Offline
Senior Member

Joined: Fri Jan 09, 2009 5:32 pm
Posts: 634
szczym wrote:
well, i call it catastrophic because page load time grow from 100ms to 5 secs some times and its just pure shame ...


Then you definitely have a problem, but the load average going up to 2 is not the most important indicator. That does mean your processors are doing a little more work, but it does not mean you are CPU bound. Definitely check your logs, check your memory usage, etc. Something is wrong with that kind of response increase, but it's not CPU.


Top
   
 Post subject: It was IO !!!
PostPosted: Tue Mar 22, 2011 5:22 pm 
Offline
Senior Newbie

Joined: Mon Mar 07, 2011 6:49 am
Posts: 9
After hours of searching in logs, asking friends for help and working 2 weeks on very slow server (some times it felt like on modem 15 years ago) i get a reply on other forum, dedicated to my software stack.

Developer out there also head problems with linode IO so i asked support to migrate me to different host despite they "dont see any problem on them side"

And the problem is gone, server is working ok. But right now support is still denaying it was them problem ... :shock:

So who is responsible for storage problems at linode ? Should i write to santa claus asking for normal service and support ?

Sorry for my English, i am (still) frustrated :(

BTW: http://arstechnica.com/business/raising ... hoices.ars


Top
   
 Post subject:
PostPosted: Tue Mar 22, 2011 5:41 pm 
Offline
Linode Staff
User avatar

Joined: Tue Apr 15, 2003 6:24 pm
Posts: 3090
Website: http://www.linode.com/
Location: Galloway, NJ
Your Linode in question is consistently a high disk IO consumer. The highest on the host you just migrated off of, and the highest on the new host you just landed on.

Your Linode is often far into swap. This graphs shows between 200MB-350MB into swap:

http://cgp.multi.obin.org/detail.php?p= ... =800&y=350

My guess is after this Linode is booted for a while, swappage will continue and everything will slow down again.

Our staff is trying to help you. We're not trying to get one over on you or get away with something. When we tell you the host looks fine it's because it does. I know it's frustrating but we're on your side...

Based on my experience the problem is very likely that you're just consuming too much IO - probably due to swap thrashing. Swapping can absolutely ruin performance. Swap is slow. Get that swap usage down into the double digits. You need to tune your services to consume less RAM, or upgrade to a larger Linode.

Hope that helps,
-Chris


Top
   
 Post subject:
PostPosted: Tue Mar 22, 2011 6:21 pm 
Offline
Senior Member

Joined: Thu Jul 22, 2010 8:23 pm
Posts: 60
sz,

From all the VPS's I've tested. Linode had the best I/O performance.

1 Drupal site is a burden on any VPS due to the high number of database queries it takes just to generate one page. I could not imagine what 20 drupal sites on 1 VPS would do to I/O!!!

Consider that each drupal site is costing $2/month to host, and ask if this is a reasonable price for the service you are expecting.


Top
   
 Post subject:
PostPosted: Tue Mar 22, 2011 6:22 pm 
Offline
Senior Newbie

Joined: Mon Mar 07, 2011 6:49 am
Posts: 9
thank you Caker for info, lets wait and see how it will evolve :?


Top
   
 Post subject:
PostPosted: Tue Mar 22, 2011 6:57 pm 
Offline
Senior Member

Joined: Sat Mar 12, 2011 3:43 am
Posts: 76
Location: Russia
szczym, show your /etc/mysql/my.cnf


Top
   
 Post subject:
PostPosted: Tue Mar 22, 2011 7:47 pm 
Offline
Senior Newbie

Joined: Mon Mar 07, 2011 6:49 am
Posts: 9
My /etc/mysql/my.cnf

Code:
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port      = 3306
socket      = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice      = 0

[mysqld]
#
# * Basic Settings
#

#
# * IMPORTANT
#   If you make changes to these settings and your system uses apparmor, you may
#   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#

user      = mysql
socket      = /var/run/mysqld/mysqld.sock
port      = 3306
basedir      = /usr
datadir      = /var/lib/mysql
tmpdir      = /tmp
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address      = 127.0.0.1
#
# * Fine Tuning
#
key_buffer      = 16M
max_allowed_packet   = 16M
thread_stack      = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit   = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1

log_error                = /var/log/mysql/error.log

# Here you can see queries with especially long duration
#log_slow_queries   = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id      = 1
#log_bin         = /var/log/mysql/mysql-bin.log
expire_logs_days   = 10
max_binlog_size         = 100M
#binlog_do_db      = include_database_name
#binlog_ignore_db   = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet   = 16M

[mysql]
#no-auto-rehash   # faster start of mysql but no tab completition

[isamchk]
key_buffer      = 16M

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/


Top
   
 Post subject:
PostPosted: Wed Mar 23, 2011 3:30 am 
Offline
Senior Member

Joined: Sat Mar 12, 2011 3:43 am
Posts: 76
Location: Russia
Use this script to optimize my.cnf:
http://www.day32.com/MySQL/tuning-primer.sh
Code:
wget http://www.day32.com/MySQL/tuning-primer.sh

This script will require bc:
Code:
apt-get install bc

To run script use:
Code:
sh tuning-primer.sh

Script will just show you tips about optimization, nothing will be changed. It's not my script.
Read carefully what is written in the section "memory usage".

My tips without script (in [mysqld] section):
Code:
key_buffer      = 256M
max_connections        = 30
table_cache            = 512
query_cache_limit   = 20M
query_cache_size        = 32M
max_sort_length = 20
low_priority_updates=1

256M is 1024M (your linode RAM) * 25%, so if you have another RAM - change first value.
After any changes you will need to restart MySQL:
Code:
/etc/init.d/mysql restart


After optimization my.cnf, write in the command line: 'top', then 'c' and show the result (to clarify which process eats memory).


Top
   
 Post subject:
PostPosted: Wed Mar 23, 2011 3:08 pm 
Offline
Senior Newbie

Joined: Mon Mar 07, 2011 6:49 am
Posts: 9
Thank you everybody for performance tips, so fare my server is performing very well on new host. I will investigate mysql tuning, it but first i would like to be assured linode will not put ma again on slow storage (and non of you i hope).


Top
   
 Post subject:
PostPosted: Wed Mar 23, 2011 3:13 pm 
Offline
Senior Member

Joined: Fri Jan 09, 2009 5:32 pm
Posts: 634
szczym wrote:
Thank you everybody for performance tips, so fare my server is performing very well on new host. I will investigate mysql tuning, it but first i would like to be assured linode will not put ma again on slow storage (and non of you i hope).


They did not "put you on slow storage". Your machine started swapping, which is going to be slow on a VPS. YOU need to figure out what is going wrong with your unmanaged VPS, not linode support. There are plenty here who will be happy to help you if you ask nicely, but throwing around accusations and demands is unlikely to get you such help.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
RSS

Powered by phpBB® Forum Software © phpBB Group