VertrigoServ przyśpieszenie dzialania


(przemo252) #1

Witam, mam program pracujący na bazie danych MySQL do tej pory stało to na linuxie (2 rdzeniowy procesor) 4GB RAM i chodziło naprawdę nieźle, niestety musieliśmy przenieść wszystko na Windows Server 2012 a na nim postawiłem VertrigoServ aby baza działa niestety, program pracuje dużo, dużo dłużej a czas “myślenia” wczytywania zapytań utrudnia pracę. Maszyna jest dość mocna 4 rdzeniowa 8gb ram - z czego wykorzystanie procesora to średnio 35-45% a Ramu 40-50%)

czy idzie jakoś przyśpieszyc działanie tej bazy na Windowsie aby zbliżyła się do tego z linuxa? lub użyć innego programu w stylu VertrigoServ bardziej wydajniejszego ???


(hokisho) #2

Może XAMPP?


(przemo252) #3

I WAMP SERVER też próbówałem, bez większych rezultatów, nie wiem czy problem leży w sprzęcie czy w tym że te programy jedynie są do testowania np. stron www a nie do takiej prawdziwej pracy, może wielkość bazy też sprawia problem 1GB


(pocolog) #4

Takie zagadki kryminalne może rozwiązać tylko @roobal :wink:


(roobal) #5

Po instalacji MySQL na WS konfigurowałeś go w ogóle? Ile przydzieliłes RAMu dla MySQL, ile dałeś bufforu?

Proponuję podejrzeć konfigurację z Linuksa, jeśli nie Ty ją robiłeś i zastosować w WS. Robiłeś jakiś benchmark? Korzystałeś ze skryptów do testowania bazy?

Szczerze, maszyna jest słaba. Przy tej ilości RAMu, minimum 2GB powinno być do wykorzystania przez MySQL.


(przemo252) #6

Jeśli chodzi o linuxa to nie optymalizowałem go jakoś specjalnie, po prostu zainstalowałem komponenty i wszystko fajnie śmigało. Mam w tym momencie 8GB ale spokojnie mogę dokupić drugie tyle do serwera.
Tylko powiedz kolego co bezpiecznie mogę tutaj “podkręcić” i pozmieniać?
Na Vertrigo mam takie ustawienia (domyślne)


(roobal) #7

Strasznie biedny ten konfig. Jutro opiszę Ci jak podkręcić MySQLa.


(przemo252) #8

Bardzo dziękuje, czekam na info :wink:


(hatezit) #9

A nie lepiej wyeksportować całej bazy i zaimportować do MS SQL Server? Może usługi się gryzą i tak wolno Ci chodzi. Nie wiem, bo nie mam MySQL na Windows Serwer 2012 a na samym W10 (znaczy VertrigoServ).


(przemo252) #10

Rozmawiałem o tym z programistą który tworzył program, i sugerowałem SQL Server rozkłada ręce i nie chce pomóc oraz nie widzi opcji konwersji. A ten program przysporzył nie raz dziwnych problemów z którymi tylko twórca był w stanie sobie poradzić i nie chce eksperymentować na własną rękę.


(hatezit) #11

Ale Ty piszesz o samej bazie MySQL? Czy o VertrigoServ, który ma w sobie bazę, php, phpmyadmin ? Patrzę i widzę, że w tytule jest VertrigoServ, a piszesz tylko o MySQL. Może warto samą bazę zainstalować a nie VertrigoServ?


(przemo252) #12

Zalecenia programisty to VertrigoServ, czasami przez phpmyadmina wchodzi i robi jakieś operacje na tabelach, masowo coś usuwa, dodaje, jak mamy taką potrzebę. Więc jest cały program wskazany :wink:


(roobal) #13

Programista i phpmyadmin? Coś kiepski ten programista, cli nie zna? O Workbenchu nie słyszał?

Może ta apka sama w sobie jest niewydajna. Warto włączyć też slowlog.


(przemo252) #14

Szału nie ma jeśli chodzi o program to fakt, ale póki co jesteśmy na niego skazani
Kolego doradzisz coś w kwestii tej konfiguracji (która powyżej podesłałem) co mogło by przyśpieszyć działanie?


(hiropter) #15

Najpierw to fajnie by było zobaczyć z jakiego silnika korzystają tabele. Wiesz po co optymalizować wszystko jak może korzystasz tylko z InnoDB.


(przemo252) #16

Z poziomu phpmyadmina sprawdzę z jakiego silnika korzystają ???


(hiropter) #17

Tak.


(przemo252) #18

InnoDB :wink:


(hiropter) #19

Na dobry początek poczytaj i dostosuje do sprzętu który posiadasz: https://www.percona.com/blog/2013/09/20/innodb-performance-optimization-basics-updated/
Co nie zrozumiesz, to znajdziesz w oficjalnym manualu do MySQL: https://dev.mysql.com/doc/


(przemo252) #20

Dziękuje kolego za ten linki, zapoznałem sie z nimi tylko ze w moim pliku conf. nie ma tylu danych i jest bardzo skrócony, więc nie bardzo wiem czy źle szukam? czy po prostu Vertrigo ma obcięte możliwości optymalizacji i własnej konfiguracji

"key_buffer_size = 16M
max_allowed_packet = 32M
table_open_cache = 32
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
character-set-server = utf8
lower_case_table_names = 2
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[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_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
"