Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 50 odgovora
  • 12.259 pregleda

Najnovija ↓

MySQL v 8.0 trosi RAM 01.11.2018. u 13:54 · pre 97 meseci #1
Na jednom malom serveru (1 GB RAM) imam MySQL v8 i neki Python servis. Sve radi na Ubuntu server 18.04.

Python servis inace napravi konekciju ka MySQL-u i svakih par sekundi poziva odredjenu stored proceduru koja mu vrati natrag informaciju da li ima sta da radi ili nema. Ako ima sta da radi onda python nesto uradi i rezultate upise natrag u bazu. Nista preterano zahtevno a baza nema vise od par megabajta. Sve funkcionise besprekorno osim sto MySQL vremenom zauzima sve vise i vise RAM-a pa tako kada pokrenem Python servis MySQL zauzima oko 380MB RAM-a a posle 15 dana zauzima preko 800MB i onda na kraju zauzme sav slobodan RAM tako da Python servis pocne da stuca jer nema vise raspolozive memorije za njegov rad.

Ako iskljucim Python servis RAM koji MySQL zauzima se ne smanjuje. Jedino sto pomaze je da restartujem MySQL.

E sad, pokusao sam da googlam ali je toliko razlicitih informacija naokolo na temu na sta sve MySQL moze da trosi RAM da sam se potpuno izgubio i uopste nemam pojma gde da gledam. Ima li neko ovde ideju sta bih mogao da proverim i koje podesavanje da promenim kako bi trosio manje RAM-a?
Re: MySQL v 8.0 trosi RAM 01.11.2018. u 14:06 · pre 97 meseci #2
To je normalno kod fragmentacije memorije. Ne samo mysql nego generalno svi procesi alociranjem i dealociranjem prave fragmentaciju memorije
sto se ispoljava sve vecim zauzecem. Mozda pomogne ako promenis alokator ali fragmentacija je neminovnost.
Re: MySQL v 8.0 trosi RAM 01.11.2018. u 14:23 · pre 97 meseci #3
Nisam bas najbolje razumeo sta bih trebalo da uradim?

I kako to mislis da je to normalno? Pa do koliko on moze da zauzima RAM? Nije problem da se taj server poveca na 2 ili vise GB ali ne shvatam do koje velicine on moze da zauzima RAM?

Ranije sam za vrlo slicnu stvar koristio 5.x verzije i nikad nije bilo ovakvih problema. Radio godinama i nikad nije zauzeo mnogo RAM-a a isto se vrteo na 1GB. Sada zbog nekih regexp funkcija moram da koristim 8.0 jer u starijim verzijama toga nema.
Re: MySQL v 8.0 trosi RAM 01.11.2018. u 14:46 · pre 97 meseci #4
Ne mozes nista da uradis. Jednostavno ta nova verzija pravi drugacije alokacijske paterne i pravi vecu fragmentaciju. To eventualno zauzme
ceo RAM i predje u swap...
Zapravo mozes da restartujes proces, stavi skriptu koja ce to da radi u crontab.
Re: MySQL v 8.0 trosi RAM 01.11.2018. u 21:04 · pre 97 meseci #7
jbg onda si u problemu ... ima par memory leak bagova koji su
verifikovani ... nadam se da ce u .14 ili .15 biti opravljeni za sada
nema resenje :( .. ima cak i par koji nisu verifikovani, ja nisam uspeo
da ih potvrdim ali ljudima se desavaju, ne bez razloga...
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: MySQL v 8.0 trosi RAM 01.11.2018. u 21:15 · pre 97 meseci #8
Pazi, meni je najbitnije da ustanovim da li je do mene ili nije :) Jer, ako nije do mene onda da trazim drugo resenje (MariaDB?) ili nekako da resim taj regexp na drugi nacin.

Ali ako jeste do mene onda ne bih da jurim druga resenja nego da popravim sta ne valja. Npr, evo gledam InnoDB buffer je bio iskoriscen 18% kada sam pokrenuo python servis i malo po malo se povecava... Ne znam da li to moze da ima veze i da li bi smanjivanje pomoglo ali praticu narednih dana pa cu da vidim.
Re: MySQL v 8.0 trosi RAM 01.11.2018. u 23:20 · pre 97 meseci #12
Ne znam ni gde je config :( Vise nije u fajlovima kao sto je bilo u ranijim verzijama nego u negde u information_schema ili sta vec... sta tacno treba da izvucem?
Re: MySQL v 8.0 trosi RAM 02.11.2018. u 08:45 · pre 97 meseci #14
ubuntu 18.04

/etc/my.cnf ne postoji a u /etc/mysql/my.cnf osim uvodnog komentara ima samo ovo:

Code:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/


U prvom direktorijumu /etc/mysql/conf.d/ ima samo jedan fajl: mysql.cnf i osim uvodnog komentara ima samo:

Code:
[mysql]


Drugi direktorijum /etc/mysql/mysql.conf.d/ ima dva fajla:

default-auth-override.cnf:

Code:
# This file is automatically generated by MySQL Maintainer Scripts
[mysqld]
default-authentication-plugin = mysql_native_password


mysqld.cnf:

Code:
[mysqld]
pid-file    = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
datadir        = /var/lib/mysql
log-error    = /var/log/mysql/error.log


I to je to...
Re: MySQL v 8.0 trosi RAM 02.11.2018. u 12:41 · pre 97 meseci #15
Glupo pitanje, ali jel ne možeš da staviš više rama na tom serveru? :) Nego da sve menjaš i/ili prelaziš na nešto treće?
Re: MySQL v 8.0 trosi RAM 02.11.2018. u 13:01 · pre 97 meseci #16
Citat:
Miroslav Jeftić: Glupo pitanje, ali jel ne možeš da staviš više rama na tom serveru? :) Nego da sve menjaš i/ili prelaziš na nešto treće?


A koliko da stavim? :)

Nije problem ako znam da ce rast RAM-a da se zaustavi na nekom broju onda bih to uradio ali ako ce RAM da raste u nedogled onda moram da saznam zasto se to desava a ne da resavam problem povecavanjem memorije.

Kao sto rekoh vec ranije cela stvar je radila vrlo slican posao sa verzijom 5.x i to jako dugo bez ikakvih problema. I to nisam ni znao koliko tada memorije upotrebljava niti me je interesovalo bas zato sto nikad nije pravio probleme :)

Ukljucio sam mu sada swap i podesio na 2GB pa cu da posmatram sta se desava.
Re: MySQL v 8.0 trosi RAM 02.11.2018. u 13:19 · pre 97 meseci #17
Ne znam kakav je tačno server u pitanju i koju memoriju koristi, da li je običan PC u pitanju ili neka teška egzotika - ako je običan PC već bih stavio bar 8 GB bez razmišljanja. :)
Re: MySQL v 8.0 trosi RAM 02.11.2018. u 14:00 · pre 97 meseci #18
Imam jednog kolegu ovde koji je na test okruzenju imao neki program koji je procesirao neke podatke. I u jednom momentu coveku zafali RAM-a i umesto da mu padne na pamet da proveri sta ne valja u njegovom programu on je isto tako "bez razmisljanja" odlucio da je bolje da poveca ram (na nasu zalost imao je pristup hypervisor konzoli).

Jednog dana dolazi novi kolega koji treba da se bavi infrastrukturom i posle par dana pita nas: "Ljudi, a za sta koristimo ovu devbox masinu koja ima 1TB rama?".

Nadam se da kapiras sta hocu da kazem :)
Re: MySQL v 8.0 trosi RAM 02.11.2018. u 14:09 · pre 97 meseci #19
Jel možeš da pređeš na Postgresql?
Re: MySQL v 8.0 trosi RAM 02.11.2018. u 14:14 · pre 97 meseci #20
@miroslav, bice da je to neki VM :D

@doktor, pa znaci sve ti je na default... default vrednosti za 8 su mnooooooooooooogo vece od default vrednosti za 5.x

sto ne volem te konfige tako na turubuntu .. elem izmeni mysqld.cnf

Code:

[mysqld]
pid-file    = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
datadir        = /var/lib/mysql
log-error    = /var/log/mysql/error.log

#stavi neki default-time-zone, koji god ali neki stavi
default-time-zone='+02:00'

# ovo moze a ne mora zavisi dal ti treba generalno ako ti sad radi bez toga ostavi bez toga
# https://dev.mysql.com/doc/refm..._default_authentication_plugin
#default-authentication-plugin=mysql_native_password

# ovo da te ne smara sa isteklim siframa (low security ali kontam to je neki dev koji nema externe usere)
default_password_lifetime=0
validate_password.policy=0

sql_mode=""
innodb_buffer_pool_size = 128M
innodb_buffer_pool_instances = 1
innodb_log_file_size = 8M
innodb_log_files_in_group=1
innodb_log_buffer_size = 8M
#innodb_compression_level = 6

join_buffer_size = 8M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
#open_files_limit = 650000
#innodb-open-files=550000
table_open_cache=10
table_open_cache_instances=1

#bind_address = 10.0.0.1
#max-connections = 500
#skip-name-resolve

max_allowed_packet=128M


pa probaj kako ce da se ponasa
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme