identifikasi server overload?


Status
Not open for further replies.
angka wa-nya ini:

Code:
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  1 381296 140988  92804 403184    0    0    32 26181 1178  749  3  2 70 23  1
 0  0 381296 142492  92812 403244    0    0     0 29584 1374  480  3  3 75 20  0
 0  1 381296 135268  92856 403572    0    0   320     0  665  587 39  9 39 12  1
 0  0 381296 138372  92932 404820    0    0  1348     0  556  607  8  2 68 22  1
 2  1 381296 134024  92952 404800    0    0    24     0  448  466  5  3 87  2  2
 1  0 381296 133940  92988 404868    0    0    60   820  510  475 20 15 51 13  2
 1  0 381296 137460  92988 405240    0    0   424     0  601  779  6  2 88  4  1
 1  0 381296 137088  92988 405344    0    0     4     0  390  166  3  1 94  1  0
 0  0 381296 141200  92992 405464    0    0   140     0  456  542  7  3 89  2  0
 0  0 381296 139656  92992 405516    0    0     0     0  321  256 12  2 85  0  0
 0  0 381296 139664  93008 405500    0    0    12   804  512  735  5  3 90  3  0
 1  0 381296 126580  93100 406244    0    0   832  1152  652  672 16 15 50 14  4
 2  0 381296 127572  93100 406244    0    0     0     0  607  967  7  8 79  0  6
 1  0 381296 126680  93100 406368    0    0     0     0  552  554 12  4 84  0  0
 0  0 381296 128404  93100 406368    0    0     0     0  969 1520 10 13 76  0  1
11  0 381296  81836  93104 420796    0    0     8  6006  467 12028 11 20 68  0  1
 6  2 381296  94080  93108 424388    0    0    20 53185  581 17521 32 37  1  1 28
 3  3 381296 123160  93108 406488    0    0    24 47768 1306 1014 35  8 10 18 28
 3  0 381296 125248  93116 406480    0    0    36  1608  806  808 62  7  4 20  7
 4  0 381296 125288  93120 406564    0    0     0     0  746  698 56  4 38  0  1
 0  0 381296 138652  93148 406784    0    0   216    42  538  354 42 11 37  8  1
 2  0 381296 135624  93160 406804    0    0     0  1892  657 1019 13  6 78  2  0
 0  0 381296 140732  93160 406804    0    0     0     0  614  732 36  4 55  0  5
 0  0 381296 140508  93160 406844    0    0     0     0  344  309  4  1 94  0  0
 0  0 381296 140764  93160 406844    0    0     0     0  366  563  4  4 93  0  0
 0  0 381296 141920  93168 406856    0    0    20    24  260  201  1  2 97  1  0
 0  0 381296 141796  93176 406848    0    0     0   652  285  457  4  1 94  0  0
 1  0 381296 142116  93176 406904    0    0     0     0  366  524  6  6 88  0  1
 2  0 381296 137652  93176 406904    0    0     0     0  587  682 12 10 79  0  0
 0  0 381296 141140  93176 406928    0    0     0     0  468  591  3  3 93  0  0
 1  0 381296  97972  93176 443136    0    0     4 53714  447 83014  6 38 48  3  5
 0  1 381296 140268  93244 407416    0    0   570   956  517  954 34 24 31 11  2
 1  1 381296 115692  93244 407540    0    0     0 52432 2276  916 31 10 35 21  2
 0  1 381296 137392  93252 407532    0    0    16  1640  503  705 12  4 80  3  2
 0  1 381296 117720  93472 409544    0    0  2200     0  822 1406 13  6 54 27  0
 1  0 381296 136496  93596 410432    0    0   960     0  717 1018 11  6 63 18  1
 0  1 381296 136024  93620 410656    0    0   265  1298  565  775 14  8 71  5  3
 0  0 381296 136464  93656 410892    0    0   248     4  540 1520 19  6 63 11  0
 0  0 381296 136232  93656 410904    0    0     0     0  319  192  2  2 96  0  0
 0  0 381296 137240  93656 410908    0    0     0     0  295  467  5  8 86  0  0
 0  0 381296 137364  93656 410924    0    0     0     0  355  364 33  4 62  0  1
 0  0 381296 137124  93684 410940    0    0    20   988  261  159  1  3 92  4  0
 0  0 381296 137248  93684 410940    0    0     0     0  327  381  1  1 97  0  0
 2  0 381296 136868  93684 410976    0    0     0     0  233  166  2  1 97  0  0
 3  0 381296 136588  93684 410976    0    0     0     0  302  491  1  2 97  0  0
 1  0 381296 136496  93684 410996    0    0     0     0  233  240  3  1 96  0  0
 0  0 381296 135404  93692 411256    0    0   264     0  614  733  5  9 82  2  1

ga terlalu besar sih rasanya. saya setup auto update & backup jam 1 dan jam 3 malam hari soalnya :confused:
 
Ada 2 account yg dominan pada saat peak, yaitu callmeto, dan galesus

Jam 08:04:
http: baru ada 2 ngebux
Cpanel update masih aktif, dan mysql sbb:
mysql 2106 4.3 3.7 166664 38928 ? Sl 02:40 14:05

Jam 08:06:
http: 9 galesus, 2 ngebux
Cpanel update masih aktif, dan mysql sbb:
mysql 2106 4.4 3.7 167208 39552 ? Sl 02:40 14:30

Jam 08:08:
http: 24 galesus dan 35 ngebux
Cpanel update masih aktif, dan mysql sbb:
mysql 2106 4.5 21.4 355220 224764 ? Sl 02:40 14:48

Jam 08:10:
http: 38 galesus dan 77 ngebux
Cpanel update masih aktif, dan mysql sbb:
mysql 2106 4.5 24.5 572212 257124 ? Sl 02:40 14:50

Sampai disini jumlah proses http sudah memakai memory melebihi memory yg ada, maka pasti vps sudah mulai melambat. Dan saat-saat berikutnya jumlah http semakin bertambah, sementara mysql mulai tetap VSZ dan RSS-nya.

Account galesus hit paling banyak adalah iklan.php. Account ngebux, hit paling banyak adalah login.php, member.php, index.php, klik.php dan view.php.

Saran: cek isi kedua account tsb, terutama hitnya.

Kalau isi semua php itu tidak ada hubungannya dengan mysql, maka pertimbangkan utk membatasi jumlah instances apache.

Sebaliknya jika ada hubungan dengan mysql, maka kemungkinan bertambah banyaknya instances apache, hanya karena proses yg pertama belum selesai menunggu jawaban mysql.

Kalau galesus adalah situs iklan, kemungkinan ada bot yang isi iklan pada waktu itu, menyebabkan mysql tidak bisa catch-up. Kalau memang begitu, dan belum pakai turing number, disarankan pakai turing number.

Selain itu coba lihat di error log apakah ada message "Mysql has gone away". Kalau ada berarti ada proses mysql timeout, sehingga apache yg memanggilnya hang terus karena data tidak kunjung tiba dari mysql. Solusinya adalah memperbesar waktu timeout:
wait_timeout=28800
interactive_timeout=28800

Kalau setting memory dan buffer mysql sepertinya sudah cukup besar, paling hanya key_buffer yg bisa diset key_buffer=128M.

Mungkin rekan lain ada yg bisa menambahkan.
 
O, iya lupa nanya apa cpu yg tersedia di VPS anda cuma 1 core (dari total 8 core)?
 
Jam 08:08:
http: 24 galesus dan 35 ngebux
Cpanel update masih aktif, dan mysql sbb:
mysql 2106 4.5 21.4 355220 224764 ? Sl 02:40 14:48

Jam 08:10:
http: 38 galesus dan 77 ngebux
Cpanel update masih aktif, dan mysql sbb:
mysql 2106 4.5 24.5 572212 257124 ? Sl 02:40 14:50

pendapat saya, ini angka besar sekali, apalagi kalau semuanya dalam kondisi running process. tapi mungkin teman2 punya pandangan lain.

mysql 4.5 24.5 sepertinya bukan beban berat. beban terberatnya ada pada apache. jadi bisa ikut saran pak jahja, optimumkan apache. yang paling efektif mungkin mengaktifkan cache untuk kedua account yang hitsya paling banyak.

mungkin juga karena cpanel update masih running (belum selesai).
 
Last edited:
Selain itu coba lihat di error log apakah ada message "Mysql has gone away". Kalau ada berarti ada proses mysql timeout, sehingga apache yg memanggilnya hang terus karena data tidak kunjung tiba dari mysql. Solusinya adalah memperbesar waktu timeout:
wait_timeout=28800
interactive_timeout=28800

kalau saya biasanya saya kecilin ini, karena nyedot cpu besar kalau wait timeout diperbesar,
 
@jahja
thanks a lot buat analisanya.

memang benar ngebux & galesus merupakan account terbesar , yang satu situs iklan yang satu lagi situs ppc.

yang saya agak bingung, vps ini dari awal mampu hidup 47 hari tanpa adanya masalah apa pun apalagi overload, tapi secara mendadak 3 hari lalu mulai overload dengan penyebab yang kurang pasti.

terutama kalau saya lihat list proses apachenya mendadak banyak sekali padahal kalau saya pantau per harinya biasanya tidak sampai segitunya, proses mysql juga berjalan normal. jadi saya curiga apa mungkin scriptnya memiliki bug seperti yang jahja bilang, mungkin karena memang proses mysqlnya belum selesai dan sudah keburu dipanggil lagi oleh scriptnya dalam waktu yang cepat akibatnya proses apachenya numpuk dan mengakibatkan hang :confused:

saya coba cek error_log di /etc/httpd/logs/error_log tapi tidak menemukan problem 'MySQL gone away".

untuk kedua account tersebut, masing2 file phpnya berhubungan dengan database, lalu bagaimana caranya saya membatasi jumlah instance apachenya?

untuk saat ini saya baru menaikkan key_buffer saya menjadi 128M, untuk timeout 28800 apa tidak terlalu besar ya? :confused:

vps ini pakai 2 core E5405 @50% :)
 
kalau saya biasanya saya kecilin ini, karena nyedot cpu besar kalau wait timeout diperbesar,

Kalau ada query mysql yg besar, yg membutuhkan waktu lebih lama, kalau timeout diperkecil, maka banyak yg tidak selesai dan langsung di-kill sama system. Akibatnya nanti ada error "mysql has gone away." Kalau sudah begini, banyak http yg menggantung, karena mysql yg dipanggil menghilang.

Timeout diperkecil tidak akan membuat query lebih cepat, hanya mempercepat system membunuh query yg besar.
 
untuk saat ini saya baru menaikkan key_buffer saya menjadi 128M, untuk timeout 28800 apa tidak terlalu besar ya? :confused:
28800 adalah defaultnya mysql. Ekivalen dengan 8 jam. Artinya, utk query mysql yg besar sekali, instances mysql tsb akan dibiarkan jalan 8 jam, sebelum dibunuh.

Memperbesar timeout tidak berarti mempercepat mysql, melainkan memberi kesempatan query mysql selesai. Kalau memperkecil, berarti membunuh query besar, dan akibatnya ada http yang menggantung dan kalau banyak http yg menggantung membuat vps hang.
 
Kalau ada query mysql yg besar, yg membutuhkan waktu lebih lama, kalau timeout diperkecil, maka banyak yg tidak selesai dan langsung di-kill sama system. Akibatnya nanti ada error "mysql has gone away." Kalau sudah begini, banyak http yg menggantung, karena mysql yg dipanggil menghilang.

Timeout diperkecil tidak akan membuat query lebih cepat, hanya mempercepat system membunuh query yg besar.

iya, query yang lambat akan di kill
sistem jadi lebih ringan

http ngegantung engga terlalu banyak kok, 1-2 lah
 
iya, query yang lambat akan di kill
sistem jadi lebih ringan

http ngegantung engga terlalu banyak kok, 1-2 lah

Kalau mysqli.reconnect = On, yg menggantung tidak 1-2, tapi banyak karena php script yg gagal akan berulang-ulang reconnect, dan tidak pernah akan selesai. Kalau ada 100 lebih http instances dan terus nambah, seperti servernya nike.stars, maka akhirnya vps jadi hang, karena semua http instances tidak pernah selesai karena keburu timeout dan reconnect.

Lebih baik mas Rendy ikut anjuran saya juga, karena customer akan puas. Kalau sering mengalami "Mysql has gone away", customer mas Rendy akan lari.
Mas Rendy coba kunjungi komunitas drupal, wordpress dan joomla, dan coba cari thread tentang MySql has gone away, dan mas Rendy akan paham, bahwa mereka akan kesal kalau webhosternya tidak bersedia memperbesar timeout.

Yg bisa diperbesar lagi adalah max_allowed_packet. Biasanya diperbesar jadi 24M atau kalau kurang diset 32M. Ini biasanya membantu mengurangi disconnect.

Namun sekali lagi, anjuran saya ini berlaku kalau di error menemukan "Mysql has gone away".
 
Status
Not open for further replies.
Back
Top