Skocz do zawartości
Mich@ł

wieszanie się MySQL

Polecane posty

Mam pewien problem a konkretniej od 2 dni w granicach godziny 9 z minut mi mój serwer staje się zablokowany... MySQL i apache zaczynają szaleć...

 

O dziwi serwer na tej samej konfiguracji pracuje już od ponad 3 miesięcy...

 

TOP z godziny 11 (Apache został zrestartowany i MySQL jest nadal zblokowany):

top - 11:02:19 up 1 day,  1:42,  1 user,  load average: 65.01, 62.80, 50.07
Mem:   2064456k total,  1943036k used,   121420k free,	42956k buffers
Swap:   522104k total,   290452k used,   231652k free,   219736k cached

Pojawia się dużo procesów apache i jeden proces MySQL który wykorzystuje spore ilości procka (skacze od 40-150%).

 

Przeglądałem logi i znalazłem że w granicach godziny 9 kończy się wykonywać backup i jest wysyłany na zew serwer... Tylko teraz czemu backup blokowałby apache (dużo procesów) i mysql (dużo połączeń)?

 

Na serwerze jest kilka GB danych [dużo plików] i około 7000 baz MySQL. Backup wykonuje od godziny 2 a więc trochę zajmuje to czasu jeżeli kończy się o 9.

 

 

O dziwo gdy zrestartuje serwer wszystko wraca do normy :) Tylko zapewne jutro pojawi się na nowo ten sam problem....

 

Na razie wyłączyłem backup i zobacze czy serwer zacznie wariować o 9 rano...

 

Może jakieś porady :)? Można w logach zobaczyć co tak dokładnie tworzy dużą ilość procesów apache i otwiera połączenia MySQL?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość N3T5kY
Na razie wyłączyłem backup

 

Błąd :)

 

Na serwerze jest kilka GB danych [dużo plików] i około 7000 baz MySQL.

To chyba pora na zatrudnienie Admina?

 

Podaj konfigurację apache (bez vhostów) i mysql.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Konfiguracja apache:

#

# This is the main Apache HTTP server configuration file. It contains the

# configuration directives that give the server its instructions.

# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.

# In particular, see

# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>

# for a discussion of each configuration directive.

#

# Do NOT simply read the instructions in here without understanding

# what they do. They're here only as hints or reminders. If you are unsure

# consult the online docs. You have been warned.

 

ServerRoot "/etc/httpd"

Listen 80

 

#LoadModule dummy_module /usr/lib/apache/mod_dummy.so

#LoadModule php5_module /usr/lib/apache/libphp5.so

Include /etc/httpd/conf/extra/httpd-phpmodules.conf

 

User apache

Group apache

 

ServerAdmin admin@localhost

DocumentRoot "/var/www/html"

 

<Directory /home/*>

AllowOverride All

Options -MultiViews -Indexes FollowSymlinks IncludesNoExec +Includes

<Limit GET POST OPTIONS PROPFIND>

Order allow,deny

Allow from all

</Limit>

<LimitExcept GET POST OPTIONS PROPFIND>

Order deny,allow

Deny from all

</LimitExcept>

</Directory>

 

<Directory />

Options All

AllowOverride All

</Directory>

 

<Directory "/var/www/html">

Options Indexes FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

<IfModule mod_suphp.c>

suPHP_Engine On

suPHP_UserGroup webapps webapps

</IfModule>

</Directory>

 

<IfModule dir_module>

DirectoryIndex index.html index.htm index.shtml index.php index.php5 index.php4 index.php3 index.phtml index.cgi

</IfModule>

 

<FilesMatch "^\.ht">

Order allow,deny

Deny from all

Satisfy All

</FilesMatch>

 

ErrorLog /var/log/httpd/error_log

LogLevel warn

 

<IfModule log_config_module>

#replace %b with %O for more accurate logging

<IfModule mod_logio.c>

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %O" common

LogFormat "%O" bytes

 

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

</IfModule>

 

CustomLog /var/log/httpd/access_log common

</IfModule>

 

<IfModule alias_module>

# Include some DirectAdmin alias

Include conf/extra/httpd-alias.conf

</IfModule>

 

<Directory "/var/www/cgi-bin">

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

 

DefaultType text/plain

 

<IfModule mime_module>

TypesConfig conf/mime.types

AddType application/x-gzip .tgz

AddEncoding x-compress .Z

AddEncoding x-gzip .gz .tgz

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

AddHandler cgi-script .cgi

AddHandler type-map var

AddType text/html .shtml

AddOutputFilter INCLUDES .shtml

AddType video/x-ms-asf .avi

AddType video/mpeg .mpg

AddType video/mpeg .mpeg

AddType video/quicktime .mov

AddType video/x-ms-wmv .wmv

</IfModule>

 

#EnableMMAP off

#EnableSendfile off

 

################################################################################

#######

# Do not change anything in included files, because they are rewritten by DirectAdmin #

################################################################################

#######

 

# This is needed for PHP

Include conf/extra/httpd-php-handlers.conf

 

# Server-pool management (MPM specific)

Include conf/extra/httpd-mpm.conf

 

# Multi-language error messages

Include conf/extra/httpd-multilang-errordoc.conf

 

# Fancy directory listings

Include conf/extra/httpd-autoindex.conf

 

# Language settings

Include conf/extra/httpd-languages.conf

 

# User home directories

#Include conf/extra/httpd-userdir.conf

 

# Real-time info on requests and configuration

Include conf/extra/httpd-info.conf

 

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

 

# Local access to the Apache HTTP Server Manual

#Include conf/extra/httpd-manual.conf

 

# Distributed authoring and versioning (WebDAV)

Include conf/extra/httpd-dav.conf

 

# Various default settings

Include conf/extra/httpd-default.conf

 

# Secure (SSL/TLS) connections

Include conf/extra/httpd-ssl.conf

 

# Deflate module settings

Include conf/extra/httpd-deflate.conf

 

# All the DirectAdmin vhosts

Include conf/extra/directadmin-vhosts.conf

 

# All suPHP directives

Include conf/extra/httpd-suphp.conf

 

# All the other includes needed by the custombuild script

Include conf/extra/httpd-includes.conf

 

################################################################################

#######

# End of included files that are rewritten by DirectAdmin #

################################################################################

#######

 

<IfModule ssl_module>

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

</IfModule>

Ale konfiguracja apache jest raczej na 100% dobra z uwagi na to że przez 3 miesiące bez problemu wszystko śmigało.

 

Na razie wyłączyłem backup

 

 

Błąd wink.gif

Czy ja wiem :)? Jeżeli nie bedzie backupu przez jeden dzień to raczej tragedii nie bedzie :)

Zobacze przede wszystkim czy to nie przez to się wszystko kaszani :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może być tak, w przypadku jeśli backup jest wysyłany na serwer znajdujący się gdzieś "blisko" ( np. usługa backup FTP w OVH),

że pliki są wysyłane z pełną prędkością portu, a co w połączeniu z dużą ilością odwołań dyskowych ( 7K baz i dużo małych plików,

wróżę więc, iż na tej maszynie IO/WAIT to codzienność ) i kiepską jakością dysków,

powoduje totalną niemożliwość obsłużenia requestów. W tym momencie procesy potomne MySQLa i Apache'a będą się mnożyć

i ustawiać w niekończącej się kolejce, a load skoczy pod niebiosa.

Oprócz tego używasz prawie 300 MB swap'u, więc podejrzewam, iż masz źle skonfigurowane usługi,

ogólnie za mało pamięci dla swojego projektu webowego, albo zwyczajnie o 9 rano maszyna swapować,

gdy musi zbuforować backup przed przesłaniem, zaś użytkownicy już "wstali" i zaczynają pobierać content.

Możliwości tu jest wiele: nie masz jakichś wykresów utylizacji zasobów z conajmniej 48 godzin?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Niestety żadnych wykresów nie posiadam.

 

A co do backupów to są one wysyłane pomiędzy serwerami w OVH a więc prędkość przesyłu sięga 50Mb/s (według wykresów przepustowości w panelu OVH).

 

Co do jakości dysków to pewnie są jakieś niskobudżetowe w końcu to OVH :)

 

Serwer: Kimsufi 2XL :)

Intel® Pentium® D CPU 3.00GHz

2 GB RAM

 

SWAP pojawia się jedynie od 3 dni gdy jest wykonywany ten backup i load skacze. Przez resztę dnia swap nie jest używany. Load jest na przyzwoitym poziomie 0.5-4 w zależności od natężenia ruchu.

 

 

Tak myśle aby backup podzielić na części. Aktualnie wykonywany jest backup wszystkich kont DA. Spróbuje backupować każde konto osobno w różnych przedziałach czasowych ew najpierw zrobić backup na dysk a później wysyłać go na drugi serwer.

 

No chyba że są jakieś lepsze metody na backup?

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ę


×