Jag har nyligen öppnat ett VPS konto och är lite konfunderad av hur tillgängliga resurser snabbt tar slut. I nuläget är följande installerad på VPS-kontot:
Debian 4.0.
DirectAdmin kontrollpanel
Apache 2.2.8 Custombuild
MySQL
Dovecot
Exim
Antal användare: 1
Antal e-post/IMAP konto: 5
RAM: 512 MB
Antal sajter igång: knappt någon trafik alls eftersom utvecklingsarbete fortfarande pågar. Bara jag själv och den utvecklare som jag anlitar. Har en underdomän med lite undervisningsmaterial som har haft runt 100 besök.
Jag har haft återkommande problem med servern med processer som har gått ner. När jag hade 256MB RAM var det ju lite löjligt frekvent så jag följde supportens råd att uppgradera. Nu har det åter dykt upp problem, som jag kopplade ihop med ett stopp leverantören hade (för de dök ju enligt loggen upp precis då) men som supporten envist hävdar att det beror på att jag har för många processer igång och att minnet då inte räcker till.
Nu har jag ju en begränsad teknisk kompetens när det gäller linux, men jag får det inte riktigt ihop det. Kör jag top får jag följande:
Kod:
top - 00:47:02 up 5 days, 12:27, 1 user, load average: 0.44, 0.18, 0.04
Tasks: 92 total, 2 running, 90 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.3%us, 1.3%sy, 0.0%ni, 96.7%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 524288k total, 198612k used, 325676k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7708 user1 15 0 4784 2636 2180 S 1.7 0.5 0:11.97 imap
9717 dovecot 15 0 3444 1720 1408 S 0.3 0.3 0:02.78 imap-login
1 root 15 0 1952 664 564 S 0.0 0.1 0:01.94 init
1925 user4 15 0 3320 1292 992 S 0.0 0.2 0:00.66 imap
1930 dovecot 15 0 3444 1716 1408 S 0.0 0.3 0:00.57 imap-login
3460 nobody 18 0 6540 272 64 S 0.0 0.1 0:00.00 directadmin
3462 nobody 18 0 6540 272 64 S 0.0 0.1 0:00.00 directadmin
3469 nobody 15 0 6540 272 64 S 0.0 0.1 0:00.00 directadmin
3470 nobody 16 0 6540 272 64 S 0.0 0.1 0:00.00 directadmin
3495 dovecot 15 0 3308 1496 1244 S 0.0 0.3 0:00.39 imap-login
3517 nobody 15 0 6540 272 64 S 0.0 0.1 0:00.00 directadmin
3552 dovecot 15 0 3304 1492 1244 S 0.0 0.3 0:00.16 imap-login
5140 user4 15 0 3436 1448 1104 S 0.0 0.3 0:00.27 imap
5141 dovecot 15 0 3308 1496 1244 S 0.0 0.3 0:00.16 imap-login
5220 root 15 0 7860 2556 1944 R 0.0 0.5 0:00.04 sshd
5248 root 15 0 2796 1588 1192 S 0.0 0.3 0:00.00 bash
7672 admin 18 0 3276 1212 936 S 0.0 0.2 0:01.01 imap
7683 dovecot 15 0 3308 1496 1244 S 0.0 0.3 0:00.54 imap-login
7684 dovecot 15 0 3304 1488 1244 S 0.0 0.3 0:00.60 imap-login
7685 dovecot 15 0 3308 1496 1248 S 0.0 0.3 0:00.55 imap-login
7688 user2 15 0 3328 1200 936 S 0.0 0.2 0:00.37 imap
7696 dovecot 15 0 3304 1492 1244 S 0.0 0.3 0:00.60 imap-login
7716 user6 15 0 6516 4128 3772 S 0.0 0.8 0:13.62 imap
7721 dovecot 15 0 3308 1492 1244 S 0.0 0.3 0:00.53 imap-login
7730 dovecot 15 0 3304 1492 1244 S 0.0 0.3 0:00.63 imap-login
7732 dovecot 15 0 3304 1492 1244 S 0.0 0.3 0:00.62 imap-login
7741 dovecot 15 0 3304 1492 1244 S 0.0 0.3 0:00.59 imap-login
7742 dovecot 15 0 3304 1492 1244 S 0.0 0.3 0:00.61 imap-login
9633 dovecot 15 0 3444 1716 1408 S 0.0 0.3 0:01.24 imap-login
9671 dovecot 15 0 3440 1712 1408 S 0.0 0.3 0:01.23 imap-login
9700 dovecot 15 0 3444 1716 1408 S 0.0 0.3 0:05.66 imap-login
9712 dovecot 15 0 3444 1712 1408 S 0.0 0.3 0:01.14 imap-login
Minnet bör väl räcka? Belastningen är inte högre än så här. Ändå har jag alltså 94 processer igång, men bara ett fåtal som är aktiva samtidigt.
Vad säger egentligen det här?
Kod:
ersion: 2.5
uid resource held maxheld barrier limit failcnt
11037: kmemsize 8940914 17382754 25165824 45508096 14235381
lockedpages 0 8 1024 1024 0
privvmpages 50369 84815 131072 262144 2615536
shmpages 782 2718 131072 131072 0
dummy 0 0 0 0 0
numproc 95 189 350 350 0
physpages 26459 49264 0 2147483647 0
vmguarpages 0 0 131072 131072 0
oomguarpages 26459 49264 131072 131072 0
numtcpsock 32 85 1024 1024 0
numflock 4 11 376 412 0
numpty 1 3 32 32 0
numsiginfo 0 27 256 256 0
tcpsndbuf 190060 679744 1524288 1624288 0
tcprcvbuf 189544 870888 1524288 1624288 0
othersockbuf 372012 719496 2252160 4194304 0
dgramrcvbuf 0 105444 262144 262144 0
numothersock 170 240 400 400 2396
dcachesize 404861 594860 1252660 1290240 0
numfile 2168 4016 6000 6000 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 74 74 400 400 0
Om jag har förstått ovanstående rätt så har jag faktiskt haft minnesproblem och socketproblem. Jag kopplar dock det här till de problem som uppstod när jag enbart hade 256MB. De senaste veckorna har jag kör på 512MB och borde inte ha nått taket så lätt. Supporten gick in och höjde max antal sockets. Det problem som uppstod med MySQL databasen var av det här slaget och inträffade gott och väl någon vecka efter att jag hade uppgraderat till 512MB RAM:
|008:02:04-11:16:25: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-11:16:25: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-11:17:36: Timeout from from IP_ADDRESS : last flagged: Request::readAndProcess(*skt, IP_ADDRESS, IP_ADDRESS)
2008:02:04-11:20:23: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-11:20:23: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-11:24:32: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-11:24:32: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-12:18:08: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-12:18:08: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-18:09:56: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-18:09:56: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-18:10:06: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
2008:02:04-18:10:06: ioctl can't find the server's ip address for venet0:0 : Bad file descriptor
Jag blir ju inte riktigt klokt på ovanstående information, men i praktiken innebar det att jag inte fick kontakt med MySQL databasen som jag använder för att utveckla den nuvarande sajten. I kontrollpanelen gick det inte heller att stoppa/starta om MySQL utan det enda som hjälpte var att starta om hela servern. Hur kan det här vara ett minnesproblem när alla andra tjänster fungerade som vanligt?
Jag är lite orolig för att det hela ska kapsejsa den dag jag går i produktion. Det vill jag ju helst slippa. Kan ni hjälpa mig att utröna om det verkligen är så att jag borde ta en dedikerad server (även om jag mer ser det där som rent försäljningssnack; jag har ju ingen trafik att prata om!) eller åtminstonen öka på RAM-minnet rejält (fr. 512MB --> 1GB)? Jag hade ändå planerat att så småningom köra med egen server men det känns lite tokigt att ett vanligt VPS-konto inte ska räcka till med min nuvarande användning. Det är ju smått löjligt då att sälja dessa grundpaket...
En, kanske inte så välgrundad, misstanke jag har är att de passar på att sälja mig massa tilläggstjänster när problemen kanske handlar om att överbeläggning i deras servrar eller andra konfigurationsfel. Och det känns ju lite surt att gå omkring med dylika misstankar...
Vad säger ni? Överförbrukar jag den hårdvaruspecifikation som gäller för mitt VPS-konto eller svamlar supporten med standardfraser för att begränsa egen arbetsinsats och passa på att sälja lite kringtjänster?
Märk väl: jag är inte förbannad på min leverantör men vill verkligen veta orsaken så att jag inte sitter med byxorna nere när det är skarpt läge...