Sziasztok.
Bérlünk egy VPS szervert amin 10.4 32 bites minimal szerver van teleopítve (ubuntu) valamint apache2+mysql+php5 + egyéb minden ami egy webszerverhez kell. Midnen megy is szépen de egy bizonyos online kliens esetén elfogy a rendelkezésre álló memória (ami összesen 1 GB).
próbálom balanszírozni a két konfigurációs fájl (my.cnf és apache2.conf) beállításait, de vagy lassan kap szabad klienst az user ha sokan vannak, vagy elfogy az össz memória.
A beállítások:
my.cnf esetén a lényegi rész:
key_buffer = 4M
max_allowed_packet = 1M
thread_stack = 64K
thread_cache_size = 8
sort_buffer_size = 1M
read_buffer_size = 256K
read_rnd_buffer_size = 512K
net_buffer_length = 2K
wait_timeout = 15
connect_timeout = 10
interactive_timeout = 20
myisam-recover = BACKUP
max_connections = 40
table_cache = 16K
query_cache_limit = 1M
query_cache_size = 20M
log_error = /var/log/mysql/error.log
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 10
log-queries-not-using-indexes
expire_logs_days = 10
max_binlog_size = 100M
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysqld]
skip-innodb
[isamchk]
key_buffer = 8M
sort_buffer_size = 8M
[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
mysqltunerrela kövi eredményeket produkálja:
[--] Up for: 1h 23m 20s (1M q [317.685 qps], 90K conn, TX: 1B, RX: 154M)
[--] Reads / Writes: 75% / 25%
[--] Total buffers: 40.0M global + 2.0M per thread (40 max threads)
[OK] Maximum possible memory usage: 120.0M (11% of installed RAM)
[OK] Slow queries: 4% (68K/1M)
[OK] Highest usage of available connections: 72% (29/40)
[OK] Key buffer size / total MyISAM indexes: 4.0M/38.1M
[OK] Key buffer hit rate: 99.4% (116M cached / 714K reads)
[OK] Query cache efficiency: 34.0% (367K cached / 1M selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (484 temp sorts / 69K sorts)
[OK] Temporary tables created on disk: 1% (54 on disk / 5K total)
[OK] Thread cache hit rate: 98% (1K created / 90K connections)
[OK] Table cache hit rate: 36% (153 open / 424 opened)
[OK] Open file limit used: 0% (242/32K)
[!!] Table locks acquired immediately: 93%
az apache2.conf lényegi része (mpm prefork):
Timeout 15
KeepAlive On
MaxKeepAliveRequests 300
KeepAliveTimeout 5
StartServers 5
MinSpareServers 5
MaxSpareServers 15
MaxClients 60
MaxRequestsPerChild 0
Nos itt el is értem az 1GB-os korlátot amennyiben ~200 user online az oldalon. (mysql alapú chat illetve olyan 60 komponensből álló dinamikus oldalról beszélünk.
A kérdés az olyan optimális my.cnf és apache2.conf beállítás ami ugyan az 1GB ramot maximálisan kihasználja, viszont gyors marad ha sokan vannak online (mondjuk 500 user )
előre is köszönöm a hozzáértő választ.
mirrmur