Saya mengubah homepage saya untuk kinerja, saat ini menangani sekitar 200 permintaan / detik pada 3.14.by yang memakan 6 query SQL, dan 20 req / detik pada 3.14.by/forum yang merupakan forum phpBB.
Anehnya, jumlahnya hampir sama pada beberapa VPS dan dedicated server Atom 330.
Perangkat lunak server adalah sebagai berikut: Apache2 + mod_php prefork 4 childs (mencoba angka berbeda di sini), php5, APC, nginx, memcached untuk penyimpanan sesi PHP.
MySQL dikonfigurasikan untuk memakan sekitar 30% dari RAM yang tersedia (~ 150Mb pada VPS, 700Mb pada server khusus)
Sepertinya ada hambatan di tempat yang tidak memungkinkan saya untuk naik, saran? (Yaitu saya tahu bahwa melakukan kurang dari 6 SQL akan membuatnya lebih cepat, tetapi ini tidak terlihat seperti faktor pembatas, karena sqld makan tidak lebih dari beberapa% di atas karena permintaan cache)
Adakah yang menguji menendang apache2 yang sudah diprogram dan hanya menyisakan nginx + php yang lebih cepat?
Beberapa tolok ukur lagi
Small 40-byte static file: 1484 r/s via nginx+apache2, 2452 if we talk to apache2 directly.
Small "Hello world" php script: 458 r/s via ngin+apache2.
Pembaruan: Tampaknya hambatan adalah kinerja MySQL pada data yang di-cache. Halaman dengan SQL tunggal menunjukkan 354req / detik, dengan 6 SQL - 180 req / detik. Menurut Anda, apa yang bisa saya ubah di sini? (Saya dapat membayar 100-200Mb untuk MySQL)
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
default-character-set=cp1251
collation-server=cp1251_general_cs
skip-character-set-client-handshake
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
skip-external-locking
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 8M
thread_stack = 64K
thread_cache_size = 16
sort_buffer_size = 8M
read_buffer_size = 1M
myisam-recover = BACKUP
max_connections = 650
table_cache = 256
thread_concurrency = 10
query_cache_limit = 1M
query_cache_size = 16M
expire_logs_days = 10
max_binlog_size = 100M
[mysqldump]
quick
quote-names
max_allowed_packet = 8M
[mysql]
[isamchk]
key_buffer = 8M
!includedir /etc/mysql/conf.d/