rsdesigns.com

Accueil du site > Design weblog > Dedibox configuration : Apache and MySQL benchmarking and optimization

Dedibox configuration : Apache and MySQL benchmarking and optimization

lundi 9 juillet 2007, par rsdesigns.com

Dedibox is a French company which offers a dedicated server for 30€ a month.

We use a dedibox to host a web site with an average of 4000 visitors per day using SPIP, an excellent content management system (CMS).

Here is the relevant information from the configuration files for both Apache and MySQL.

/etc/apache2/apache2.conf

Timeout 15

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 3

<IfModule prefork.c>
StartServers 1
MinSpareServers 1
MaxSpareServers 15
MaxClients 10
MaxRequestsPerChild 300
</IfModule>

The SQL configuration is copied from the MySQL sample configuration files located in usr/share/doc/mysql-server-4.1/examples/my-large.cnf, described as an example config for "large systems" with "memory = 512M where the system runs mainly MySQL."

/etc/mysql/my.cnf

[client]
port  = 3306
socket  = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket  = /var/run/mysqld/mysqld.sock
nice  = 0

[mysqld]
user  = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket  = /var/run/mysqld/mysqld.sock
port  = 3306
basedir  = /usr
datadir  = /var/lib/mysql
tmpdir  = /tmp
language = /usr/share/mysql/english
skip-external-locking
skip-innodb

old_passwords = 1

max_allowed_packet = 8M
#thread_stack  = 1024K

query_cache_limit = 1048576
query_cache_size = 8M
query_cache_type = 1

#log-bin   = /var/log/mysql/mysql-bin.log
#max_binlog_size = 104857600

skip-bdb

connect_timeout = 10
interactive_timeout = 25
join_buffer_size = 4M

max_connections = 800
max_user_connections = 800
max_connect_errors = 999999

myisam_sort_buffer_size = 32M
read_buffer_size = 1M
sort_buffer_size = 2M
table_cache = 1024
thread_cache_size = 286
tmp_table_size = 32M
wait_timeout = 1800

log_slow_queries=/var/log/mysqld.slow.log
long_query_time=3

[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]

[isamchk]
key_buffer = 32M
key_buffer_size = 32M

This configuration was benchmarked using

ab -kc 100 -t 30 http://www.survivreausida.net/

Benchmark results

rs-mbp:~ reda$ ab -kc 10 -t 30 http://www.survivreausida.net/
This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.survivreausida.net (be patient)
Finished 89 requests
Server Software: Apache/2.0.54
Server Hostname: www.survivreausida.net
Server Port: 80

Document Path: /
Document Length: 24512 bytes

Concurrency Level: 10
Time taken for tests: 30.000 seconds
Complete requests: 89
Failed requests: 88
(Connect: 0, Length: 88, Exceptions: 0)
Broken pipe errors: 0
Keep-Alive requests: 0
Total transferred: 2275265 bytes
HTML transferred: 2229265 bytes
Requests per second: 2.97 [#/sec] (mean)
Time per request: 3370.79 [ms] (mean)
Time per request: 337.08 [ms] (mean, across all concurrent requests)
Transfer rate: 75.84 [Kbytes/sec] received

Connnection Times (ms)
min mean[+/-sd] median max
Connect: 61 69 3.2 69 81
Processing: 796 2568 1994.0 1901 10620
Waiting: 724 2567 1994.0 1900 10619
Total: 796 2637 1994.4 1972 10690

Percentage of the requests served within a certain time (ms)
50% 1966
66% 2316
75% 3046
80% 3446
90% 4356
95% 7977
98% 8308
99% 10690
100% 10690 (last request)

Répondre à cet article

SPIP | squelette | | Plan du site | Suivre la vie du site RSS 2.0