Getting server settings correct after server crash

Events happening in the community are now at Drupal community events on www.drupal.org.
wxman's picture

Hi all

This is my first post here, so forgive me if I mess up.
My system is running Ubuntu server 8.04 on a Xen virtual server. I have several web site, but currently only one live Drupal 6.14 site. Last week, I had a major failure of the one "live" Drupal site. It's a ecommerce one using the Ubercart system. The site owner ran a promotion special for the first 100 people to buy something after midnight....etc. A few minutes after midnight, the whole thing locked up with the memory and CPU both maxed out. Long story short, I was able to get it under control, but I had the fiddle the Apache and Mysql settings quite a bit.

I also had no cache running. Now, the server is running OK, but it feels a bit sluggish to me. I'm new to the whole optimizing subject, but I'm learning as fast as I can. I've installed APC, and doubled my physical RAM to 4Gb. I think I might have set something wrong on the Xen side, because I can only get around 2.2Gb out of it. I'll work on that later. Right now I'd like to see if I have my Apache, APC, and Mysql settings set correctly.

After checking the page load stats on the ecommerce site, I found that it's now averaging 1000-1400ms load time, and about 25Mb page size. I do have JS/CSS caching turned on, and about 60 active modules. I've attached the first results of tuning-primer.sh run, and here are the rest of my settings:

Xen virtual server info
------------------------
cpu_num  2
cpu_speed    2000 MHz
mem_total  2293980 KB
mtu  1500 B
swap_total   7815580 KB

From APC.PHP
------------------------
Shared Memory:    1 Segment(s) with 64.0 MBytes (mmap memory, pthread mutex locking)

File Cache Information
Cached Files 556 ( 53.9 MBytes)
Hits 280916
Misses   556
Request Rate (hits, misses) 50.18 cache requests/second
Hit Rate    50.08 cache requests/second
Miss Rate   0.10 cache requests/second
Insert Rate  0.10 cache requests/second
Cache full count 0

Runtime Settings
pc.cache_by_default 1
apc.coredump_unmap    0
apc.enable_cli    0
apc.enabled   1
apc.file_update_protection    2
apc.filters  
apc.gc_ttl 3600
apc.include_once_override  0
apc.max_file_size 1M
apc.mmap_file_mask  
apc.num_files_hint 1000
apc.report_autofilter  0
apc.rfc1867   0
apc.rfc1867_freq  0
apc.rfc1867_name  APC_UPLOAD_PROGRESS
apc.rfc1867_prefix  upload_
apc.shm_segments    1
apc.shm_size  64
apc.slam_defense 0
apc.stat  1
apc.stat_ctime    0
apc.ttl   0
apc.user_entries_hint 4096
apc.user_ttl   0
apc.write_lock    1


APACHE2.CONF
---------------------
# prefork MPM
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients           20
    MaxRequestsPerChild  20
</IfModule>
# worker MPM
<IfModule mpm_worker_module>
    StartServers          2
    MaxClients           50
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>


MY.CNF highlights
-------------------------
expire_logs_days = 10
max_binlog_size  = 500M
key_buffer              = 16M
max_allowed_packet  = 16M
thread_stack          = 128K
thread_cache_size      = 8
max_connections        = 100
max_user_connections   = 100
query_cache_limit   = 16M
query_cache_size    = 64M
skip-bdb
skip-innodb

If anyone has any suggestions, I'd love to hear them. Thank you.

High performance

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: