Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Długi czas "sending data" na jednym serwerze i krótki na drugim
TomASS
post 19.11.2017, 19:59:17
Post #1





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Mam dwa serwery - "serwer A" oraz "serwer B"

z serwera A skopiowałem na B tabele potrzebne do zapytania:
  1. SELECT * FROM m_transporty_miejsca AS TM LEFT JOIN m_transporty AS T ON (T.ID=TM.ID_transport)


oczywiście indeks na TM.ID_transport jest
m_transporty_miejsca = 800.000 rekordów
m_transporty = 300.000 rekordów

na serwerze A zapytanie wykonuje się 80-90 sekund (całość to "sending data")
a na serwerze B zapytanie wykonuje się 0.01 sekundy

czym to może być spowodowane?


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 20.11.2017, 11:23:55
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


na obu przeyłasz po localhost ?
Go to the top of the page
+Quote Post
TomASS
post 20.11.2017, 11:44:05
Post #3





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


tak - na obu przez PMA skonfigurowanym na localhost


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 20.11.2017, 12:13:44
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A próbowałeś odpalić optymalizację na A?
Go to the top of the page
+Quote Post
TomASS
post 20.11.2017, 13:48:16
Post #5





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Tak - zarówno optymalizację, defragmentację i założenie indeksów na nowo sad.gif


--------------------
Go to the top of the page
+Quote Post
markuz
post 20.11.2017, 14:12:57
Post #6





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Próbowałeś szukać w Google pod hasłem - "mysql sending data slow"?
Dużo osób mialo taki problem.



--------------------
Go to the top of the page
+Quote Post
TomASS
post 20.11.2017, 14:22:07
Post #7





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Jasne, że szukałem.
Nic konkretnego nie znalazłem (poza indeksami)

Np.

Cytat
An explain-plan is usually the best place to start whenever you have a slow query. To get one, run

DESCRIBE SELECT source_id FROM directions WHERE (destination_id = 10);

This will show you a table listing the steps required to execute your query. If you see a large value in the 'rows' column and NULL in the 'key' column, that indicates that your query having to scan a large number of rows to determine which ones to return.

In that case, adding an index on destination_id should dramatically speed your query, at some cost to insert and delete speed (since the index will also need to be updated).



ale indeks mam


--------------------
Go to the top of the page
+Quote Post
viking
post 20.11.2017, 14:26:49
Post #8





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


We FROM zrób FORCE INDEX. Obie tabele mają założony?

Ten post edytował viking 20.11.2017, 14:27:01


--------------------
Go to the top of the page
+Quote Post
markuz
post 20.11.2017, 14:29:23
Post #9





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


A jakie masz dyski? Na 1 i na 2 serwerze?


--------------------
Go to the top of the page
+Quote Post
TomASS
post 20.11.2017, 23:01:00
Post #10





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


FORCE INDEX zrobiłem wcześniej - nic.
Dodatkowo EXPLAIN mówi, że korzysta z indeksu ID_transport

Dyski na obydwu są SSD.

Zrobiłem tak:
1. utworzyłem nowe tabele (zamiast Inno to MyISAM - nie wiem dlaczego były Inno)
2. przekopiowałem dane
3. zrobiłem ANALISE
4. zrobiłem OPTYMALIZE

i jest zdecydowanie szybciej smile.gif
Dziękuję za pomoc smile.gif


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 21.11.2017, 08:24:43
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A wiesz jakie konsekwencje to za sobą poniosło?
Go to the top of the page
+Quote Post
sabat24
post 21.11.2017, 10:17:19
Post #12





Grupa: Zarejestrowani
Postów: 175
Pomógł: 26
Dołączył: 13.09.2007
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Cytat
utworzyłem nowe tabele (zamiast Inno to MyISAM - nie wiem dlaczego były Inno)

A jakbyś teraz zmienił w tej samej bazie z powrotem z MyISAM na Inno to nadal masz te długie czasy?

Trick polegający na zmianie silnika z Inno na MyISAM i z powrotem powoduje pewną optymalizację i czyszczenie pustych dziur.
Go to the top of the page
+Quote Post
TomASS
post 22.11.2017, 19:36:23
Post #13





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Cytat(Pyton_000 @ 21.11.2017, 09:24:43 ) *
A wiesz jakie konsekwencje to za sobą poniosło?


tak - liczę się z tym (np. brak transakcji).


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 13:19