Home

Jumlah Proses Apache

Mari berdiskusi bersama kami di Group Facebook Kurung Kurawal

Apache Forking Error

Beberapa hari yang lalu, salah satu web server client di kantor mengalami masalah yang lumayan aneh. Well, anehnya mungkin karena baru pertama kali terjadi. Hal ini sebenarnya ada berita baik dan buruknya, dimana ternyata web server tersebut kelebihan beban. Wow, websitenya rame dong… Emang sih, kalau dilihat dari jumlah trafic nya, website ini memang sedang naik daun, terbukti dengan banyak jumlah member yang bergabung. Bukan bermaksud promosi, tapi memang fitur yang ditawarkan lumayan menarik.

Tapi, anehnya, kalau dibilang hardware servernya sudah tidak sanggup, rasanya tidak juga, ketika dicek dengan perintah

1
top

processor, dan memory tidak tampak kelebihan beban, malah processor tersisa 78% idle, dan RAM masih tersisa 788mb. Jadi, apa masalahnya? Jadi langkah berikutnya, mari cek log apache, log error tentunya…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Wed Feb 16 11:57:00 2011] [notice] child pid 5883 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5884 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5885 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5886 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5887 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5888 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5889 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5890 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5891 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5892 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5893 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5894 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5895 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5896 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5897 exit signal Segmentation fault (11)
[Wed Feb 16 11:57:00 2011] [notice] child pid 5898 exit signal Segmentation fault (11)

wah, error apa ini? ternyata apache gagal ketika melakukan forking untuk menerima request lebih lanjut. Tapi pertanyaannya, kenapa gagal? apakah programmer apache ada yang salah ketika coding? rasanya tidak. mari kita cek lebih lanjut.

Pada konfigurasi apache, sudah diset

1
2
3
4
5
ServerLimit         511
StartServers          5
MinSpareServers       5
MaxSpareServers      20
MaxClients          511

maxClients sudah lumayan tinggi, tapi apache gagal mencapai angka itu. Masalah sudah ketemu, mari cek ke google. Ternyata, masalahnya ada pada sistem operasinya. OpenSuse yang digunakan belum mengizinkan sebuah aplikasi untuk melakukan forking sampai sejumlah 511. Jadi tentu saja apache gagal forking. Jadi solusinya…

1
echo "fs.epoll.max_user_instances=4092" >> /etc/sysctl.conf sysctl -p

intinya sih, menambahkan konfigurasi instance dari sebuah aplikasi menjadi 4092. Well, apachenya sudah up kembali, dan websitenya sudah berjalan dengan normal meskipun aksesnya sudah bertambah banyak.