ugrás a tartalomhoz

MySQL szerver elérése lassú

farkaskutya · 2007. Okt. 18. (Cs), 23.08
Sziasztok!


Szerettem volna egy különálló mysql adatbázis szervert csinálni, illetve ez sikerült is, de kívülről borzasztó lassú az elérése. Feldobtam a web szerverre (ez egy másik gépen van) egy fórumot tesztelni, de 10-15 másodpercig vár amíg betöltődik az oldal. Ha erre a gépre telepítem a fórumot akkor szépen fut.

A szerver természetesen szerverhotelban van és win2003 SP2, Mysql 5.0.45 fut rajta.

Ötletem sincs mi lehet a gond, ha valaki wines alapon üzemeltet adatbázis szervert segíthetne.


Köszi és üdv.


Ja és mellesleg amikor kapcsolódott a web szerverről a fórum az adatbázishoz akkor az adatbázisnál ismeretlen felhasználóként volt jelen. Pedig névvel csatlakozott...
 
1

Honnan hova?

janoszen · 2007. Okt. 18. (Cs), 23.30
Most nem értem egészen. Milyen gépről szeretnéd elérni az adatbázis szervert? Ha azonos gépen van, akkor annak villámgyorsnak kellene lennie. Persze az is lehet hogy maga a fórum motor a gyenge.

Túl sok az ismeretlen tényező sajnos. Személy szerint kizárólag linux alapon üzemeltetek szervert, Windows szervert csak helyi hálózatban láttam.
2

RE

farkaskutya · 2007. Okt. 18. (Cs), 23.37
Tehát, nem azonos gépen van a web szerver, így lassú. Ha egy szerveren van minden akkor gyors, de szét szeretném választani a dolgokat, hosszú távon jobb dolog.
3

kimérni

winston · 2007. Okt. 19. (P), 08.23
mérd ki valami debuggoló tool-lal, vagy akár kézzel betéve pár mérőpontot a rendszerbe, hogy tényleg az adatbázissal van e gond. ha igen, akkor fogj egy konzolt / query browsert, és próbálj lefuttatni pár dolgot. ha az lassú, megvan a hiba forrása. ha nem, akkor a kapcsolattal lesz valami.
5

RE

farkaskutya · 2007. Okt. 20. (Szo), 08.15
Az a baj, hogy nem ismerek debug cuccot mysql alá, és ráadásul nem is nagyon értek hozzá... Localban fut rajta rendesen az adatbázis. Viszont a kapcsolatnak is jónak kell lenni, mert a szerver válaszideje okés és a sávszélesség is megvan.
7

debuggoló túl

winston · 2007. Okt. 20. (Szo), 09.25
debuggoló tool: mysql parancssor, ésvagy mysql query browser. ebben kitesztelgeted magadnak. ennyi. pl.: első lépésben írsz php scriptet, elején microsec-el, végén microsec-cel, kettő közt egy sql lekérdezés, és ezt egy ciklusba. meg persze kiiratod a microsec-ek különbségét. ha ez nem lassú, akkor nem az sql-el van baj. következő lépésben pedig futtatsz pár sql-t sql parancssorból/query browserből. haezek lassúak, akkor tedd újra az sql-t. ha nem, de a php-ből lassú volt, akkor valami az oprendszerben van, a kapcsolódás/adatátvitel lassú. ha egy gépen van, akkor biztos ez a hiba, ha külön gépen van, akkor akár a hálózattal is lehet. ennyi. tesztelgesd ki szépen, többet így látatlanban, ennyi információból nem tudok mondani.
8

tipp

gonoszcsiga · 2007. Okt. 20. (Szo), 13.36
mysql configba ip címet írtál hostnévnek? ha nem akkor amiatt lehet lassabb a kapcsolódás, persze még nem tudjuk, hogy a kapcsolódással van e baj, először egy sima mysql_connect-et mérj le.
9

RE

farkaskutya · 2007. Okt. 21. (V), 23.24
Nincs beírva IP, tehát hallgat minden elérhető címen (localhost és a külső IP) Hivatkozni viszont IP alapján hivatkoztam a webszerveren.
4

Windows

janoszen · 2007. Okt. 19. (P), 09.01
Előre bocsájtom, nem flémelni akarok, de a MySQL tudtommal nem Windowsra lett kihegyezve. Illetve, pontosítok a Windows nem MySQL-re lett kihegyezve. Ha Windowst futtatsz, lehet hogy érdemesebb Microsoft eszközöknél maradni mert ezek jól össze vannak dolgozva és könnyebben karbantarthatóak.

*Szerintem* ha nem MS dolgokat akarsz használni, érdemes Linuxot üzemeltetni, mert jóval több eszközöd van a karbantartásra, amik Windowson csak az MS eszközökhez vannak.

Ami a problémádat illeti, Winstonnak igaza van. Tesztelni, tesztelni, tesztelni. Ha a két gép nem azonos helyi hálón van (monjuk gigabiten) akkor eleve elég meredek dolog így MySQL kapcsolatot létesíteni. Tedd őket egy helyre, külön helyi hálóra (ami alapból lehet egy lankábel a két gép között).

Ami azt illeti, nem muszáj feltétlenül most már szétválasztani, azt is megteheted, hogy egyelőre egy gépen hagyod őket aztán ha olyan nagy lesz a terhelés, akkor csinálsz egy port forwardot a másik gépre. Meg ne kérdezd, Windowson hogy lehet ilyet csinálni, nem tudom.
6

RE

farkaskutya · 2007. Okt. 20. (Szo), 08.24
Szerintem nem "kihegyezéses" probléma van. Ez egy négymagos szerver 4 giga rammal hardveres scsi u320 raid5-el. Azt hiszem ezen a konfigon nem nagyon beszélhetünk egy félmegás adatbázis esetében vashiányról. A két gép pedig az Inerware-ben van 100 megabiten.
10

Pont ez a baj

janoszen · 2007. Okt. 22. (H), 08.22
Még akkor is ha egy subneten van, itt ugye egy switchelt netről van szó, avagy a publikus internet egy részén közlekedik keresztül az adat az interwaren belül. Azt kellene csinálni, hogy nem az interware hálóját használni transzferre, mert minek, hanem egy közvetlen LAN-kábellel összekötni a kettőt. Egyrészt megspórolod az egyik 100 Mbit árát, másrészt meg gyorsabb is lesz.
11

Re

farkaskutya · 2007. Okt. 22. (H), 09.21
Hasonlón gondolkodok én is, hogy hátul összedrótozom gigabiten őket. Csak akkor milyen címet adok meg a usernek? Mert publikus ip-je nincs akkor, localhost-nak sem minősül, van egy privát címe. Mert így akkor valami port forward-ot kell csinálnom, ha kívülről is szeretném elérhetővé tenni.
12

Nem kell...

janoszen · 2007. Okt. 22. (H), 10.24
Nem kell publikus IP-je legyen, kiadsz arra a a kapcsolatra egy lokális IP-t, ami a privát címtartományokba esik és gyk helyi hálón csatlakozik. Mondjuk ha a nyilvános szervered a 192.168.0.1, a MySQL-ed pedig 192.168.0.2, akkor az utóbbit adod meg.

Ez azért is jó, mert a MySQL szervered automatikusan tűzfal mögött van.

Esetleg abban is érdemes gondolkozni, hogy az elsődleges szerverre backup-jelleggel replikálni az adatbázisokat mondjuk éjfélkor. Ezt bármikor át tudod tenni máshova, viszont van biztonsági mentésed.

Szerk: Ja, kívülről meg ne legyen elérhető a MySQL, max egy VPN vagy SSH tunelen keresztül. OpenVPN a barátod. ;)
13

lassú, mert...

andrisi · 2007. Okt. 22. (H), 15.51
Nekem is ez volt a problémám, a gond az volt, hogy a szerver csinál egy reverse-lookupot a kliens ip-jével, s ez sokáig tart. A szerveren a hosts (win alatt is van) fájlba be kell írni a kliens ip-jét valami névvel.
14

RE

farkaskutya · 2007. Okt. 22. (H), 16.05
Na ezt megnézem, lehet ez volt a probléma, de proclub megoldása is elgondolkodtató. Az a baj, hogy ezt most elindítottam így és már van rajta user bőven, nem állíthatom meg. Köszönöm a segítséget mindenkinek!