Skocz do zawartości
Zaloguj się, aby obserwować  
Gość Fo

mysql obciaża za bardzo maszyne

Polecane posty

Gość Fo

witajcie,

 

dzisiaj spotkalem sie z jednym dosc powazanym problemem, mianowicie mysql tak jakby generuje dosc duze obciazenie mojej maszyny i serwer poprostu sie przytyka ...

 

load average: 1.10, 3.89, 4.76

 

niby niewiele, ale wiadomo dla jednego niewiele dla drugiego odwrotnie, maszyna ma w sobie procesk 2,4GHz i 1GB ramu, a procesow mysql widze w topie po 40, httpd dwa razy mniej.

 

coz z tym zrobic ?

 

edit : top says :

top - 14:31:53 up 26 days, 21:06, 2 users, load average: 1.38, 1.05, 1.55

Tasks: 125 total, 2 running, 123 sleeping, 0 stopped, 0 zombie

Cpu(s): 60.9% user, 13.2% system, 0.0% nice, 26.0% idle

Mem: 901440k total, 825016k used, 76424k free, 63048k buffers

Swap: 0k total, 0k used, 0k free, 521180k cached

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość adamszendzielorz
witajcie,

dzisiaj spotkalem sie z jednym dosc powazanym problemem, mianowicie mysql tak jakby generuje dosc duze obciazenie mojej maszyny i serwer poprostu sie przytyka ...  

 

A skad wiesz, ze to MySQL?

Najpierw ustal, czy to CPU nie wyrabia czy dyski.

 

Swap:        0k total,        0k used,        0k free,   521180k cached

 

Nie masz wogole swapa... Nie zdziw sie jak ktoregos pieknego dnia maszyna zdechnie z braku pamieci.

pozdr.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Fo

o dziwo niewiem teraz co poczac :

 

# cat /etc/fstab

 

# UNCONFIGURED FSTAB FOR BASE SYSTEM

proc /proc proc defaults 0 0

/dev/hda2 swap swap defaults 0 0

/dev/hda3 / ext2 rw 1 1

/dev/hda1 /boot ext2 rw 1 1

 

#swapon -a

swapon: /dev/hda2: Invalid argument

 

chyba sie krece i tak naprawde niewiem jak odpowiednio tego swapa wlaczyc :/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość adamszendzielorz
o dziwo niewiem teraz co poczac :  

 

Zacznij moze od wklejenia:

 

fdisk -l /dev/hda

mount

 

?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Fo

fdisk -l /dev/hda

 

Disk /dev/hda: 80.0 GB, 80026361856 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Device Boot Start End Blocks Id System

/dev/hda1 1 8 64228+ 83 Linux

/dev/hda2 9 270 2104515 82 Linux swap / Solaris

/dev/hda3 271 9729 75979417+ 83 Linux

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość adamszendzielorz
fdisk -l /dev/hda

 

No to moze:

 

mkswap /dev/hda2

swapon /dev/hda2

 

?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Fo

ok fajnie, włączone, tylko ze w top dalej szaleje

 

top - 15:10:18 up 26 days, 21:44, 2 users, load average: 0.71, 0.91, 0.93

Tasks: 118 total, 4 running, 113 sleeping, 0 stopped, 1 zombie

Cpu(s): 75.2% user, 20.5% system, 0.0% nice, 4.3% idle

Mem: 901440k total, 834600k used, 66840k free, 64604k buffers

Swap: 2104504k total, 0k used, 2104504k free, 546460k cached

 

edit : przy czym stan cpu skacze raz jest 0% raz 30, a raz 70% hmm, ta lista procesow mysql w topie jakos tak mnie martwi

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość adamszendzielorz
ok fajnie, włączone, tylko ze w top dalej szaleje

 

To teraz (w momencie jak Ci sie wydaje, ze szaleje) wklep:

vmstat 1

 

Poczekaj kilka sekund i wklej kilka/nascie ostatnich linijek.

pozdr.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Fo
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa

1  0      0  54424  64712 552640    0    0     0     0  177   753 94  6  0  0

0  0      0  58036  64712 549036    0    0     0     0  182   272  7  1 92  0

0  0      0  58036  64712 549036    0    0     0     0  111   215  0  0 100  0

0  0      0  58016  64712 549048    0    0     0     0  157   514 20  3 77  0

0  0      0  58004  64712 549060    0    0     0     0  131   722 21  4 75  0

1  0      0  58000  64712 549064    0    0     0     0  112   219  0  0 100  0

1  0      0  54424  64712 552536    0    0     0   256  628   660 82 11  7  0

2  0      0  57740  64712 549088    0    0     0     0  105  1439 83 17  0  0

0  0      0  56956  64712 549108    0    0     0     0  118  1801 66 16 18  0

0  0      0  57092  64712 549108    0    0     0     0  157   275  2  0 98  0

0  0      0  57088  64712 549112    0    0     0     0  111   220  0  1 99  0

3  0      0  57072  64712 549112    0    0     0   384  875   231  1  0 99  0

0  0      0  57084  64712 549116    0    0     0     0  119   632  9  1 90  0

0  0      0  57084  64712 549116    0    0     0     0  107   218  0  0 100  0

0  0      0  57116  64712 549116    0    0     0     0  132   241  0  0 100  0

0  0      0  57272  64712 549116    0    0     0     0  110   227  0  0 100  0

0  0      0  57432  64712 549116    0    0     0   256  626   233  0  0 100  0

0  0      0  59852  64712 549116    0    0     0     0  110   220  0  0 100  0

0  0      0  59996  64712 549128    0    0     0     0  133  1232 15  8 77  0

0  0      0  60004  64712 549128    0    0     0     0  109   225  0  0 100  0

 

przy czym staty mysql mówią :

 

Ruch ø na godzinę

Otrzymane 85 912 KB 69 222 KB

Wysłane 583 922 KB 470 484 KB

Sumarycznie 669 834 KB 539 705 KB

 

Połączenia ø na godzinę %

Nieudane próby 0 0,00 0,00 %

Przerwane 0 0,00 0,00 %

Sumarycznie 13 931 11 224,62 100,00 %

 

a sam mysql byl godzinke temu restartowany.

 

edit : Statystyki zapytań: Od rozpoczęcia jego pracy, do serwera zostało wysłanych 685 721 zapytań

na minute to wyglada tak : 8 197,50

a na sekunde : 136,63

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Fo
# The following options will be passed to all MySQL clients

[client]

#password = your_password

port  = 3306

socket  = /tmp/mysql.sock

 

# Here follows entries for some specific programs

 

# The MySQL server

[mysqld]

bind-address = 127.0.0.1

port  = 3306

socket  = /tmp/mysql.sock

skip-locking

key_buffer = 16M

max_allowed_packet = 1M

table_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

myisam_sort_buffer_size = 8M

 

#skip-networking

 

log-bin

 

server-id = 1

 

[mysqldump]

quick

max_allowed_packet = 16M

 

[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL

#safe-updates

 

[isamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

 

[myisamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

 

[mysqlhotcopy]

interactive-timeout

sorry ze tak dlugo ale telefony mi sie urywaja.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

O, to ja też polece fajnego toolsa: Mysqlard

A tutaj demo.

 

Jest to fajny system statystyk mysql, tworzący wykresy, analizuje zapytania, rodzaj, szybkość, ile "slow queries" z ich wskazaniem i najważniejsze, czyli podpowiedzi tuningujace mysqla na podstawie statow.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Fo

hmm, w sumie wczoraj jak sprawdziliśmy z kolegami staty, mieliśmy około 700 unikalnych odwiedzających na sajcie projektu który właśnie rozwijamy. chyba pora abym zainteresował się login.conf i limitami :twisted:

 

edit : póbóje właśnie zamontować sobie na debianie 3.1 mysqlard, ale coś nie wychodzi za chiny, próbowałem zabawy z LDFLAGS I CPPFLAGS, ale dalej mimo wszystko proces kompilacji kończy się tak :

 

...

/usr/local/mysql/include/mysql/my_config.h:859:1: warning: this is the location of the previous definition

gcc  -g -O2   -L/usr/local/mysql/lib/mysql -o mysqlard  main.o  -lrrd

main.o(.text+0x25f): In function `ar_get':

/home/fo/mysqlard-0.9.1/src/main.c:348: undefined reference to `mysql_query'

main.o(.text+0x26b):/home/fo/mysqlard-0.9.1/src/main.c:348: undefined reference to `mysql_store_result'

main.o(.text+0x279):/home/fo/mysqlard-0.9.1/src/main.c:352: undefined reference to `mysql_fetch_row'

main.o(.text+0x2ab):/home/fo/mysqlard-0.9.1/src/main.c:356: undefined reference to `mysql_free_result'

main.o(.text+0x2c6):/home/fo/mysqlard-0.9.1/src/main.c:349: undefined reference to `mysql_error'

main.o(.text+0x733): In function `main':

/home/fo/mysqlard-0.9.1/src/main.c:263: undefined reference to `my_progname'

main.o(.text+0x738):/home/fo/mysqlard-0.9.1/src/main.c:263: undefined reference to `my_init'

main.o(.text+0x740):/home/fo/mysqlard-0.9.1/src/main.c:264: undefined reference to `mysql_init'

main.o(.text+0x780):/home/fo/mysqlard-0.9.1/src/main.c:265: undefined reference to `mysql_real_connect'

main.o(.text+0xccc):/home/fo/mysqlard-0.9.1/src/main.c:266: undefined reference to `mysql_error'

collect2: ld returned 1 exit status

make[2]: *** [mysqlard] Error 1

make[2]: Leaving directory `/home/fo/mysqlard-0.9.1/src'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/fo/mysqlard-0.9.1'

make: *** [all] Error 2

 

jako że nie mogę się doszukać paczki, .deb próbóje montować ze źródeł...

jakaś podpowiedź ?

 

ps : http://www.trafficg.com/ ( strona testowa instalacji serwera Apache ) - czyli coś w nich chyba .... :roll:

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×