Wie kann man die Speichernutzung des PHP-Prozesses optimieren?

Ich betreibe eine WordPress-Site und jeder PHP-Prozess verwendet ca. 200 MB bis 250 MB residente Speichergröße. Mit 16 GB RAM kann der Server nur etwa 70 Prozesse verarbeiten. Durch Erhöhen des virtuellen Speichers auf 16 GB kann es 140 verarbeiten. Danach steigt die Last weiter an. Wenn in 10 Minuten 200 Verbindungen bestehen, erreicht die Serverlast auf einem 3 GHz-Quad-Core-xeon-Prozessor 20!

Ich habe versucht, alle Plugins zu deaktivieren, aber dies reduziert nur die PHP-Speichernutzung jedes Prozesses um weniger als 10%. suPHP sagt mir, welcher Benutzer so viel Speicher verwendet, aber nicht welcher Teil des WordPress-Codes.

Irgendwelche Vorschläge zur Reduzierung des Speicherbedarfs? Oder kann ich nur auf 32 GB RAM upgraden?

<code>PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
10585 nobody    16   0 2266m 237m 199m S 21.3  1.5   1:09.17 /usr/bin/php
10597 nobody    16   0 2257m 255m 226m S 15.3  1.6   0:17.56 /usr/bin/php
</code>

Größte Ausgaben von pmap -d

<code>000000000e8b8000   27580 rw--- 000000000e8b8000 000:00000   [ anon ]
00002b3772850000 2097152 rw-s- 0000000000000000 000:00009   [ shmid=0x2d1b803a ]
00002b37f2a62000   55108 r---- 0000000000000000 0fd:00000 locale-archive
mapped: 2320852K    writeable/private: 30012K    shared: 2097152K
</code>

IPCS-Ausgabe

<code>------ Semaphore Arrays --------

key        semid      owner      perms      nsems
0x000000a7 0          root      600        1
0x00000000 162529281  nobody    600        1
0x00000000 162562050  nobody    600        1
0x00000000 162594819  nobody    600        1
0x00000000 162627588  nobody    600        1
------ Message Queues --------

key        msqid      owner      perms      used-bytes   messages`
</code>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage