Salut,
Am doua servere mysql ce ruleaza pe platforme diferite : 1 mandriva, 1 windows.
Observ ca rata de transfer a datelor este mai mare pe server-ul mandriva (astept cam 10 secunde pana se executa query-ul) iar pe windows rata de transfer este aproape instantaneu.
Aveti ceva idee?!
Poate fi de la firewall sau ?
In primul rand iata definita pentru "rata de transfer", nu de alta, dar il folosesti gresit:
Engleza: http://www.techterms.com/definition/datatransferrate
GoogleTranslate in Ro: http://translate.google.com/translate?prev=hp&hl=en&js=y&u=http%3A%2F%2Fwww.techterms.com%2Fdefinition%2Fdatatransferrate&sl=en&tl=ro&history_state0=
In al doilea rand, nu ne-ai zis cum ai facut testul, ce tehnologie de conectare ai folosit si ce fel de date si cat de multe au fost transferate ...
In al treilea rand, daca datele se transfera bine, atunci firewall-ul nu are nici o treaba cu el. In Linux firewall-ul este parte a kernelului si nu incetineste in nici un fel viteza cu care poate sistemul sa comunice pe retea.
In al patrulea rand, nu ai specificat daca cele doua servere sunt sau nu in acelasi loc, la aceeasi distanta sau pe acelasi calculator cu clientul.
Da-ne raspunsurile la cele de mai sus si te putem ajuta mult mai bine.
Csabi's BLOG
Linux registered user # 457717
da, ai dreptate.
Deci serverele sunt la aceiasi distanta (aceiasi retea, acelasi switch) distanta este la fel.
2. Date multe nu transfer. Am o fereastra de login, unde caut in baza de date, daca username-ul si parola introduse de user sunt corecte.
3. Nu am facut cinestie ce teste complicate! am o aplicatie facuta in c# iar ca test am schimbat ip-ul server-ului. O data pe linux, si altadata pe windows. Si difierntele sunt vizibile.....
mersi mult
Tare ciudat, mai ales ca se stie ca MySQL lucreaza mai rapid pe Linux decat pe Windows, oricum o autentificare ar trebui sa dureze de ordinul milisecundelor si daca ai mii de useri.
Sigur nu e Linuxul ala ocupat cu altceva? Ai verificat procesorul? Nu comunica pe retea in exces? Nu are harddiskul plin? Nu apar ceva ciudatenii prin loguri (cauta in /var/log/messges /var/log/syslog si daca aic eva legat de mysql separat acolo)
Sincer sa fiu, eu in 10 secunde pot lejer prelucra peste 1milion de inregistrari ... si nu numai ca le citesc, le prelucrez cu PHP si transmit HTML-ul catre browserul clientului, iar pe un server IBM 2xqoadXeon asta dureaza sub 1 secunda.
Ia incearca se te conectezi la el dintr-o consola de mysql da dai ceva select-uri sa vezi cum se comporta. Nota: consola mysql se logheaza mai greu la orice server mysql, deci login tau initial nu se pune.
Csabi's BLOG
Linux registered user # 457717
Multumesc de replay,
Nu stiu daca server-ul este ocupat cu altceva.
Calculatorul este nou facut de doua zile (pentium 2.6 ghz (dual), 2 gb ram, 80 gb)), este gol aproape, doar sistemul de operare il are. Am observat o chestie: daca ma conectez la el cu un client (heidisql) pana se autentifica dureaza cam 10 -15 secunde, dupa care merge ok, raspunde foarte repede. La fel si cu aplicatia mea. Dupa ce executa prima interogare ( care la mine este autentificarea) merge ok, zic eu ca raspunde ok...
ciudat nu?
poate ca nu e configurat ok, serverul... recunosc pana sa instalez mysql-ul pe el, l-am cam intors pe toate partiile.........
david.
Secretul e cu siguranta in setarile de mysql. Recomand un google. Cauta dupa autentificare lenta prin retea.
Ca sa mai facem un test, intra pe server prin ssh, si ruleaza comanda "mysql" care ar trebui sa se conecteze local la mysql ca root prin socket, nu prin retea. Daca iti apare instant, atunci e clar ca o chestie legata de setarile de retea, repet, din mysql nu din alta parte (probabil 99%).
Incearca si comanda de conectare local cu userul care merge incet din retea.
Csabi's BLOG
Linux registered user # 457717
... cred ca ai dreptate. M-am conectat cu putty prin ssh si am tastat comanda mysql. Instantaneu s-a executat, apoi am tastat comanda show databases, iar interogarea s-a executat in 0.00 secunde.
Inca ceva de remarcat, care ma face sa cred ca ai dreptate. cand ma-am conectat cu putty, a stat 15 secunde pana mi-a recunoscut user-ul si vre-o 10 pana mi-a recunoscut parola.
Caut pe google ce mi-ai spus.
Mersi de indrumare! revin cu detalii, daca rezolv.
David
Hm,
cam mult a stat sa te recunoasca. Cel mai probabil e vorba de server dns lent (ma refer la caching nameserver, ala din /etc/resolv.conf).
Incearca sa pui un bind/named local.
asa arata fisierul meu
nameserver 213.175.125.1
search PCM
CE AR TREBUI SA FIE?
Cand te conectezi la serverul respectiv, te conectezi pe baza de IP sau pe un nume de calculator?
Pentru a sari peste DNS, ai putea sa pui in fisierul "hosts" atat la tine pe windows (system32/drivers/etc/hosts ...sau ceva asemanator) iar pe Linux (/etc/hosts) numele si IP-ul celuilalt computer.
Acum nu gasesc brusc optiunea pentru my.cnf, dar am impresia, ca mySQL incearca sa afle un nume pentru conexiunea ce intra de la tine ca si client si face un request de reverse dns dupa IP-ul computerului tau. Aici, daca tu nu ai un nume de domeniu valid, ceea ce asa este mai mult ca sigur, pe calculatorul client, mySQL asteapta un time-out de la DNS si numai dupa aceea iti da conexiunea. Asta am patit-o eu mai demult, dar abia acum mi-am adus aminte cum a pomenit Matricks de el.
Este si o optiune pentru my.cnf, sa nu faca mySQL aceasta verificare, dar nu mai stiu optiunea si acum nu il gasesc nicaieri.
Csabi's BLOG
Linux registered user # 457717
Superrrr
Mersi. Asta era. Trebuia sa adaug ip-ul calculatorului meu in etc/hosts
Mersi inca o data.
David
Cu placere, totusi, iti dai seama ca asta rezolva problema doar cu calculatorul tau. Alte calculatoare cu programul respectiv, vor reactiona incet la login.
De aceea te sfatuiesc sa cauti optiunea necesara pentru my.cnf, astfel ca mySQL sa nu mai faca verificarea respectiva.
Csabi's BLOG
Linux registered user # 457717
da, dar nu pot sa pun in loc de ip-ul meu un interval.. ceva de genul 192.168.11.% sau 192.168.11.1 - 192.168.1.254 ?
david
In /etc/hosts ... evident ca nu poti. Teoretic nu pot sa fie 2 calculatoare cu acelasi nume si adrese IP diferite...
Cum am mai zis, solutia este in /etc/my.cnf, dar va trebui sa cauti si tu un pic pe google, eu am prea multe pe cap sa mai stau sa si caut pentru voi.
Csabi's BLOG
Linux registered user # 457717