Tôi đang chạy một trang wordpress và mỗi quá trình sử dụng PHP khoảng 200MB đến 250MB bộ nhớ kích thước thường trú. Với 16GB ram, máy chủ chỉ có thể xử lý khoảng 70 quy trình. Bằng cách tăng bộ nhớ ảo lên 16GB, nó có thể xử lý 140. Sau đó tải tiếp tục tăng lên. Nếu có 200 kết nối trong 10 phút, tải máy chủ đạt 20 trên bộ vi xử lý quad-core 3Ghz!Làm cách nào để tối ưu hóa quá trình sử dụng bộ nhớ php?
Tôi đã thử tắt tất cả các plugin, nhưng điều này chỉ làm giảm mức sử dụng bộ nhớ PHP của mỗi quy trình ít hơn 10%. suPHP cho tôi biết người dùng nào đang sử dụng quá nhiều bộ nhớ, nhưng không phải là phần nào của mã wordpress.
Bất kỳ đề xuất nào về cách giảm mức sử dụng bộ nhớ? Hoặc là lựa chọn duy nhất của tôi để nâng cấp lên 32GB ram?
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
đầu ra lớn nhất từ pmap -d
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
TVV đầu ra
------ 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`
Bạn đã thử cài đặt APC hoặc một số giải pháp bộ nhớ đệm opcode tương tự chưa? – raina77ow
Có. Tôi đang sử dụng eAccelerator và Zend Optimizer. APC hiện không được bao gồm trong cPanel. Hai cái còn lại có thể được biên dịch với easyapache. – Lisa
Thật kỳ lạ, tôi đang chạy một số máy chủ lưu trữ và hầu hết các phiên bản PHP tiêu thụ từ 7 đến 50 MB bộ nhớ RSS. Đề xuất của tôi là: 1. nâng cấp lên php 5.4 (vì giảm bộ nhớ bộ nhớ). 2. Cài đặt một số proxy ngược (như véc-ni) ở phía trước của wordpress. – strkol