Wajarkah memory usagenya..??


Status
Not open for further replies.

xphones

Expert 1.0
Begini...
SERVER A setelah saya install cpanel beserta segala pendukungnya pemakaian memory sekitar 350-375mb, setelah sedikit optimise mysql dan apache RAM turun jadi 250-325MB

SERVER B dengan step yang 99% sama dengan SERVER A setelah optimise saya bisa mereduce ram sampai ke 210-230MB saja.

Kedua server diatas saat itu sama2 kosong/belum ditempati account hosting.

Yang saat ini mengganjal di pikiran saya adalah SERVER A saat ini sudah ditempati sekitar 20 domain beberapa subdomain termasuk addon domain aktif. total visitor dari kesemua domain yang menempati server tersebut saya perkirakan sekitar 5000-9000 orang/hari. namun ram yang terpakai saat ini sudah antara 550MB-700MB. sedangkan load cpu stabil di 0,xx. hanya ketika schedule cpbackup saja load kadang naik ke 1,xx.

Nah menurut rekan2 apakah RAM usage segitu termasuk masih wajar atau harus ada yang dioptimise lagi.??

Dari proses daily log belum ada account yang pakai resource cpu/ram lebih dari 20% secara terus menerus (hanya sesekali saja memang ada yang kadang sampai 40% tapi cuma sebentar saja). Saya juga belum menemukan plugin2 nakal karena sebagian besar plugin nakal sudah saya masukkan ke blacklist mod_security.
 

BennyKusman

Hosting Guru
Verified Provider
Begini...
SERVER A setelah saya install cpanel beserta segala pendukungnya pemakaian memory sekitar 350-375mb, setelah sedikit optimise mysql dan apache RAM turun jadi 250-325MB

SERVER B dengan step yang 99% sama dengan SERVER A setelah optimise saya bisa mereduce ram sampai ke 210-230MB saja.

Kedua server diatas saat itu sama2 kosong/belum ditempati account hosting.

Yang saat ini mengganjal di pikiran saya adalah SERVER A saat ini sudah ditempati sekitar 20 domain beberapa subdomain termasuk addon domain aktif. total visitor dari kesemua domain yang menempati server tersebut saya perkirakan sekitar 5000-9000 orang/hari. namun ram yang terpakai saat ini sudah antara 550MB-700MB. sedangkan load cpu stabil di 0,xx. hanya ketika schedule cpbackup saja load kadang naik ke 1,xx.

Nah menurut rekan2 apakah RAM usage segitu termasuk masih wajar atau harus ada yang dioptimise lagi.??

Dari proses daily log belum ada account yang pakai resource cpu/ram lebih dari 20% secara terus menerus (hanya sesekali saja memang ada yang kadang sampai 40% tapi cuma sebentar saja). Saya juga belum menemukan plugin2 nakal karena sebagian besar plugin nakal sudah saya masukkan ke blacklist mod_security.

penggunaan memory juga bergantung kalau ada cache sistem yang aktif seperti varnish/apc, mysql, dll
selagi load server < 1, saya rasa wajar2 aja..
 

Adhie

Expert 1.0
Verified Provider
coba liat dari

Code:
ps -eo user,pcpu,pmem | tail -n +2 | awk '{num[$1]++; cpu[$1] += $2; mem[$1] += $3} END{printf("NPROC\tUSER\tCPU\tMEM\n"); for (user in cpu) printf("%d\t%s\t%.2f\t%.2f\n",num[user], user, cpu[user], mem[user]) }'

atau bisa menggunakan NGINX atau Varnish untuk optimasi web server CMIIW
 

xphones

Expert 1.0
coba liat dari

Code:
ps -eo user,pcpu,pmem | tail -n +2 | awk '{num[$1]++; cpu[$1] += $2; mem[$1] += $3} END{printf("NPROC\tUSER\tCPU\tMEM\n"); for (user in cpu) printf("%d\t%s\t%.2f\t%.2f\n",num[user], user, cpu[user], mem[user]) }'

atau bisa menggunakan NGINX atau Varnish untuk optimasi web server CMIIW

Saya sudah pake nginx mas..
Code:
NPROC   USER    CPU     MEM
4       dovecot 0.00    0.00
3       named   0.00    0.00
1       domainA.com        5.50    1.90
6       nobody  14.30   7.20
1       mailnull        0.00    0.00
1       mysql   0.50    3.00
31      root    0.00    4.50
-------------
NPROC   USER    CPU     MEM
4       dovecot 0.00    0.00
1       domainB.com  5.10    1.70
3       named   0.00    0.00
6       nobody  14.80   7.40
1       mailnull        0.00    0.00
1       mysql   0.50    3.00
31      root    0.00    4.50
--------------
NPROC   USER    CPU     MEM
4       dovecot 0.00    0.00
3       named   0.00    0.00
7       nobody  20.30   8.80
1       mailnull        0.00    0.00
1       mysql   0.50    3.00
31      root    0.00    4.50
-----------
root@xxxxxx [~]# uptime
 19:41:48 up 14 days, 18:09,  1 user,  load average: 0.28, 0.30, 0.26
 

cpserv

Expert 1.0
infonya ada yg kurang :D

memory servernya brapa?

tapi kemungkinannya karena beda hard disknya.. sequential hard disk bisa beda walaupun sama merk sama type..
 

xphones

Expert 1.0
infonya ada yg kurang :D

memory servernya brapa?

tapi kemungkinannya karena beda hard disknya.. sequential hard disk bisa beda walaupun sama merk sama type..

Saya pake virtuozzo mas, Dedicated RAM 2GB Burst 2GB

Code:
root@xxxxx [~]# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 8.47775 seconds, 127 MB/s

Code:
root@xxxxx [~]# wget cachefly.cachefly.net/100mb.test -O /dev/null
--2012-05-19 00:41:17--  http://cachefly.cachefly.net/100mb.test
Resolving cachefly.cachefly.net... 205.234.175.175
Connecting to cachefly.cachefly.net|205.234.175.175|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `/dev/null'

100%[======================================>] 104,857,600 11.0M/s   in 9.0s

2012-05-19 00:41:26 (11.1 MB/s) - `/dev/null' saved [104857600/104857600]

MySQL
Code:
[mysqld]
max_connections = 350
key_buffer = 16M
myisam_sort_buffer_size = 32M
join_buffer_size = 1M
read_buffer_size = 1M
sort_buffer_size = 2M
table_open_cache = 2048
thread_cache_size = 286
interactive_timeout = 25
wait_timeout = 1000
connect_timeout = 10
max_allowed_packet = 16M
max_connect_errors = 10
query_cache_size = 16M
query_cache_type = 1
query_cache_limit = 1M
max_heap_table_size = 16M
tmp_table_size = 16M
local-infile=0
slow-query-log
skip-innodb
 
[mysqld_safe]
open_files_limit = 8192
 
[mysqldump]
quick
max_allowed_packet = 16M
 
[myisamchk]
key_buffer = 32M
sort_buffer = 32M
read_buffer = 16M
write_buffer = 16M

Mysqltuner
Code:
 >>  MySQLTuner 1.2.0 - Major Hayden <[email protected]>
 >>  Bug reports, feature requests, and downloads at http://mysqltuner.com/
 >>  Run with '--help' for additional options and output filtering

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.62-cll
[OK] Operating on 32-bit architecture with less than 2GB RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated -InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 125M (Tables: 1455)
[--] Data in MEMORY tables: 0B (Tables: 4)
[!!] Total fragmented tables: 43

-------- Security Recommendations  -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 1d 20h 53m 13s (4M q [25.662 qps], 101K conn, TX: 33B, RX: 504M)
[--] Reads / Writes: 79% / 21%
[--] Total buffers: 48.0M global + 4.4M per thread (350 max threads)
[OK] Maximum possible memory usage: 1.6G (78% of installed RAM)
[OK] Slow queries: 0% (0/4M)
[OK] Highest usage of available connections: 3% (13/350)
[OK] Key buffer size / total MyISAM indexes: 16.0M/30.9M
[OK] Key buffer hit rate: 99.7% (51M cached / 155K reads)
[OK] Query cache efficiency: 82.7% (2M cached / 3M selects)
[!!] Query cache prunes per day: 95309
[OK] Sorts requiring temporary tables: 0% (23 temp sorts / 63K sorts)
[!!] Joins performed without indexes: 4129
[OK] Temporary tables created on disk: 17% (24K on disk / 139K total)
[OK] Thread cache hit rate: 99% (13 created / 101K connections)
[OK] Table cache hit rate: 54% (1K open / 2K opened)
[OK] Open file limit used: 36% (3K/8K)
[OK] Table locks acquired immediately: 99% (779K immediate / 779K locks)

-------- Recommendations -----------------------------------------------------
General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    Adjust your join queries to always utilize indexes
Variables to adjust:
    query_cache_size (> 16M)
    join_buffer_size (> 1.0M, or always use indexes with joins)

Httpd
Code:
Start Servers=1 (sudah coba naikkan jadi 2)
Minimum Spare Servers=1 (sama dg diatas)
Maximum Spare Servers=5
Server Limit=150
Max Clients=150
Max Requests Per Child=10000
Keep-Alive=on
Keep-Alive Timeout=3
Max Keep-Alive Requests=100
Timeout=100 (pernah set jadi 30 dan 120)
httpd dengan setingan yg sudah saya coba rubah2 dg nilai seperti diatas sepertinya tidak ada perubahan apapun. apa sebaiknya nilai penggunaan memory oleh httpd diturunkan saja ya? defaultnya "178956970"
 

cpserv

Expert 1.0
itu dua2nya di dalem node yang sama? atau beda node?

klo bener 99% semua confignya sama dan penggunaan resourcenya (memory) beda kemungkinan terakhir memang di harddisk (atau processor), itu memory penuh karena waktu tunggu penulisan akhir (ke harddisk) atau penyelesaian proses (di processor).

agak bingung sih saya,, pernah pake tuning-primer.sh ga? coba itu deh, lebih enak jelasinnya dia daripada mysqltuner :D

tapi satu masukan mungkin :
my.cnf : max_connections = 350
mysqltuner : [OK] Highest usage of available connections: 3% (13/350)

itu mungkin agak kegedean yah? tapi coba tunggu aja nanti kalau udah agak penuh, saya sih maksimal seumur idup saya paling banyak koneksi itu 107 connections. ga pernah lebih dari itu (rata2 50-80)
 

IIXPLANET

Expert 2.0
klo untuk pemakaian memory dengan total account 20 ini bisa dilihat juga dari beberapa sisi :

1. semakin banyak module yg dipakai apache dalam config ini bisa mempengaruhi usage memory dari apache itu sendiri

2. a ) pemakaian nginx buat mereduce ram di server jika account masih sedikit ini persepsi yg salah kecuali jika acc sudah banyak dan ram usage apache normal itu sudah diatas / lebih besar dari yg dipakai nginx setelah di server apache di combine dengan nginx, baru disini proses nginx akan terlihat buat reduce ram usage , karena nginx memakai cache yg cukup lumayan besar untuk processnya jadi saran saya jika account cpanel masih dibawah 100 / 50 lebih baik leave nginx dan pakai varnish / single apache saja .

b ) Nginx ini reading config vhost user untuk processnya, semakin banyak vhost disana semakin memory yg dipakai nginx akan besar apalagi klo memakai lua dan pendukung2 lainnya begitupun dengan disknya jika tidak di tune di nginx dengan memakaikan AIO maka akan terasa cukup besar usagenya .

3. untuk pengaturan memory pd mysql sesuai config yg saya lihat , untuk config yg mas pakai itu misal 20 user On bersamaan dengan asumsi total 20 account diserver saja itu akan memakan proses memory

Total memory needed (for 20 connections): 428.2 MB

4. untuk keepalive lebih baik off biar ga makan too much memory

tambahan aja :

buat cek max ram dr process yg mau di lihat ketik aja

ps -o rss -C httpd | tail -n +2 | (sed 's/^/x+=/'; echo x) | bc

sample buat check total ram usage dr httpd

ps -o rss -C nginx | tail -n +2 | (sed 's/^/x+=/'; echo x) | bc

sample buat check total ram usage dr nginx

dsb


itu belum di tambah process2 memory dr plugin2 dalam vps yg lain nya , kaya process exim/mail

jadi menurut saya ram usage segitu wajar mas , ini klo menurut analisa saya ya .
 
Status
Not open for further replies.

Top