Header ads

Header ads
» » Cách tính MaxClient cho Apache

Chào mọi người, hôm nay mình sẽ chia sẻ với mọi người cách mà mình hay dùng để tính toán số lượng MaxClient khi config apache. Bên dưới mình cũng có code sẵn 1 script nho nhỏ để tính toán con số này, tuy nhiên chỉ mang tính tương đối thôi nhé.
Lưu ý: Giá trị tính toán được chỉ mang tính tương đối, tùy theo thực tế, mọi người tăng giảm cho phù hợp

Công thức mình sử dụng như sau:
MaxClient = Tổng số RAM server còn trống sau khi đã chạy đầy đủ hết các dịch vụ (trừ dịch vụ httpd) / số RAM trung bình 1 process httpd sử dụng


Mã:
#!/bin/bash
# Script compute MaxClient for Apache
# Author: Arch
# Date: 06/12/2013

# Get total MEM
TOTAL_MEM=$(head -1 /proc/meminfo | awk '{print $2}')

# Get total Memory is being used
TOTAL_MEM_USED=$(free | grep 'buffers/cache' | awk '{print $3}')

# Get average memory of 1 process httpd
count=0
httpd_mem=0

for process_mem in `ps -ylC httpd --sort:rss | awk '{print $8}' | grep -v RSS`
do
 let "count+=1"
 let "httpd_mem+=$process_mem"
done

# Average memory per process
HTTPD_AVG_MEM=$(( $httpd_mem / $count ))

# Get total memory used for httpd:
HTTPD_TOTAL_MEM=$(( $TOTAL_MEM - $TOTAL_MEM_USED + $httpd_mem ))

MAX_CLIENT=$(( $HTTPD_TOTAL_MEM / $HTTPD_AVG_MEM ))

# Final result
echo -e "Total RAM in this server:\t\t $TOTAL_MEM KB"
echo -e "Total RAM is being used:\t\t $TOTAL_MEM_USED KB"
echo -e "Total RAM will be used for httpd:\t $HTTPD_TOTAL_MEM KB"
echo -e "Average RAM per process httpd:\t\t $HTTPD_AVG_MEM KB"
echo -e "Recommend MaxClients value:\t\t $MAX_CLIENT"
1 ví dụ khi chạy script này:
Mã:
Total RAM in this server:   10240000 KB
Total RAM is being used:   4837212 KB
Total RAM will be used for httpd:  5495916 KB
Average RAM per process httpd:   10347 KB
Recommend MaxClients value:   531
Giải thích:
- Server có 10GB RAM
- Tổng số RAM đang dùng (lúc này dịch vụ apache vẫn đang chạy, số RAM này tính luôn số RAM mà apache đang dùng): 4,8GB
- Số RAM thực sự còn trống mà mình dự định sẽ dùng hết cho apache sau khi trừ các dịch vụ khác: 5,4GB
- Số RAM trung bình của 1 process apache: 10MB
- Con số Maxclients gợi ý: vào khoảng 531 client (để an toàn thì nên chọn thấp hơn con số này 1 chút).

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn