Wichtigste Parameter für phpBB2 auf vServer mit wenig RAM

toxic76

New Member
Hallo zusammen,

ich habe einen vServer (1und1 Virtual Server L) auf dem läuft ein aktuelles PostNuke und als "Hauptanwendung" ein kleines Forum (PNphpBB2, eine phpBB2 Portierung für PostNuke)

Da der Server nur 128MB zugesicherten RAM hat habe ich bis jetzt immer versucht den Server nach dem "trial and error" Prinzip zu "optimieren" das hat auch eigentlich ganz gut funktioniert (denke ich) allerdings habe ich in letzter Zeit mehr Besucher was den Server dann verständlicherweise immer mal an seine Grenzen bringt. Ich werde spätestens Mitte nächsten Jahres (Mindestvertragslaufzeit :() auch auf einen Server mit mehr RAM und zu einem anderen Provider wechseln aber für die "Übergangszeit" würde ich gerne das, zugegeben Wenige, Vorhandene so optimal wie möglich nutzen.

Mein Frage was wäre für so ein Forum die wichtigsten Parameter zur Optimierung oder anders wo wäre der wenige Speicher am sinnvollsten investiert? Vermutlich habe ich bei MySQL die besten Möglichkeiten es für das Forum zu optimieren?

Auf dem Server läuft folgendes:
Apache (2.0.53)
PHP (5.2.4)
eAccelerator (0.962)
MySQL (5.045)

Hier mal meine aktuelle Konfiguration die sich so im Laufe der Zeit "ergeben" hat (vielleicht auch nicht so sinnvolles):
my.cnf:
Code:
[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 12M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 1M
net_buffer_length = 8K
read_buffer_size = 1M
read_rnd_buffer_size = 512K
join_buffer_size = 2M
myisam_sort_buffer_size = 4M
thread_cache = 8
query_cache_size = 2M
query_cache_limit = 8M
max_connections = 20
long_query_time = 2
low_priority_updates = 1


[isamchk]
key_buffer = 16M
sort_buffer_size = 16M
read_buffer = 4M
write_buffer = 4M

[myisamchk]
key_buffer = 16M
sort_buffer_size = 16M
read_buffer = 4M
write_buffer = 4M

servertuning.conf
Code:
# prefork MPM
<IfModule prefork.c>
        # number of server processes to start
        StartServers         2
        # minimum number of server processes which are kept spare
        MinSpareServers      2
        # maximum number of server processes which are kept spare
        MaxSpareServers      3
        # highest possible MaxClients setting for the lifetime of the Apache process.
        ServerLimit          100
        # maximum number of server processes allowed to start
        MaxClients           20
        # maximum number of requests a server process serves
        MaxRequestsPerChild  8000
</IfModule>

php.ini
Code:
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

user_beancounters
Code:
cat /proc/user_beancounters
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
  41148426: kmemsize                  5059950              5397112             20971520             23068672                    0
            lockedpages                     0                    0                  256                  256                    0
            privvmpages                 43614                50292                98304               108134                20690
            shmpages                    12934                12934                20480                20480                    2
            dummy                           0                    0                    0                    0                    0
            numproc                        50                   50                   96                   96                   13
            physpages                   21954                28026           2147483647           2147483647                    0
            vmguarpages                     0                    0                32768           2147483647                    0
            oomguarpages                23600                29672                32768           2147483647                    0
            numtcpsock                     13                   16                  360                  360                    0
            numflock                        9                    9                  188                  206                    0
            numpty                          1                    1                   16                   16                    0
            numsiginfo                      0                    1                  256                  256                    0
            tcpsndbuf                  121888               171112              1720320              2703360                    0
            tcprcvbuf                  193896               219064              1720320              2703360                    0
            othersockbuf                21096                38800              1126080              2097152                    0
            dgramrcvbuf                     0                    0               262144               288358                    0
            numothersock                   20                   24                  360                  360                    0
            dcachesize                      0                    0              3145728              3460300                    0
            numfile                      2680                 2696                 4096                 4096                13512
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                      14                   14                  100                  100                    0

Danke & Gruß

Marco
 
1. alles in Plesk (unter Server) stoppen was nicht benötigt wird wie

bind
Spamassassin
Dr. Web

2. in der servertuning.conf
Code:
KeepAlive On
KeepAliveTimeout 2
einstellen.

3. du hast in der servertuning.conf MaxClients 20 eingestellt. Das wären dann 20 x 15 MB = 300 MB RAM. d.h hättest du tatsächlich 20 simultane TCP Verbindungen würde der RAM eh nicht ausreichen und es käme zu Errors.

Erstmal müssen wir Apache RAM zuweisen. Sagen wir mal 7 x 15 MB = 105 MB RAM. Und MySQL geben wir ~ 20 MB RAM.

probiere mal
Code:
<IfModule prefork.c>
        StartServers         1
        MinSpareServers      1
        MaxSpareServers      2
        ServerLimit          100
        MaxClients           7
        MaxRequestsPerChild  8000
</IfModule>

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2

my.cnf
Code:
[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking

key_buffer = 2M
max_allowed_packet = 256K
table_cache = 512
sort_buffer_size = 32K
net_buffer_length = 1K
read_buffer_size = 16K
read_rnd_buffer_size = 16K
join_buffer_size = 512K
myisam_sort_buffer_size = 32K
thread_cache = 8
query_cache_size = 2M
query_cache_limit = 8M
max_connections = 7
long_query_time = 2
low_priority_updates = 1


[isamchk]
key_buffer = 16M
sort_buffer_size = 16M
read_buffer = 4M
write_buffer = 4M

[myisamchk]
key_buffer = 16M
sort_buffer_size = 16M
read_buffer = 4M
write_buffer = 4M
 
Back
Top