![Tadeusz Nowak](https://static.goldenline.pl/user_photo/062/user_1267006_25b44e_basic.jpg)
Tadeusz Nowak IT, Ekologia.pl
Temat: Problem z Mysql
Mam problem z pracą MySQL na systemie FreeBSD 8.0serwer1 www Six-Core AMD Opteron(tm) Processor 2425 HE 4GB
serwer2 mysql Six-Core AMD Opteron(tm) Processor 2425 HE 4GB
Przy instalacji nie było problemu serwer pracuje, nie widać żeby skakało obciążenie.
Problem się pojawił jak sprawdziłem jak wykonują się zapytania na stronie.
Okazało się że pierwsze zapytanie, które pobiera rekordy z bazy przystaje na jakieś 100 milisekund i jest tak za każdym razem następne zapytania chodzą dobrze.
Dla przykładu zapytanie 'select * from tabela limit 100' 0.10176205635071s
a w logach serwera
# Query_time: 0.000239 Lock_time: 0.000045 Rows_sent: 90 Rows_examined: 90
Po kilku testach zauważyłem że jeśli wykonam przed nim zapytanie np.
'select * from tabela limit 33' jest już ok ale to jakieś chore jest.
Mysql jest w wersji 5.1.50 próbowałem też z innymi wersjami 5.0.x i 5.55.x
było to samo. Pomyślałem że coś może jest z clientem i modulem php_mysql
ale w przypadku mysql i mysqli jest to samo zmieniałem wersję php i też nic obecnie jest 5.3.x, spróbowalem z perlem i było to samo. Mysql postawiony w jailu. Postawiłem mysql poza jailem i to samo. Połączylem się bezpośrednio z serwera (umieściłem skrypt perla na serwerze mysql) na początku TCP i to samo dopiero przez socket poszło z mniejszym opóźnieniem ale i tak wolno.
Wykonałem zapytanie z flagą MYSQLI_USE_RESULT i wykonyjąc mysqli_fetch
przy 33 rekordzie bum jest opóźnienie 100 milisekund
przykład:
Odbieranie rekordów:
1. Time: 0.00083708763122559
2. Time: 0.00085806846618652
3. Time: 0.0008699893951416
4. Time: 0.00088095664978027
5. Time: 0.00089097023010254
6. Time: 0.0009009838104248
7. Time: 0.00091409683227539
8. Time: 0.00092411041259766
9. Time: 0.00093412399291992
10. Time: 0.00094413757324219
11. Time: 0.00095415115356445
12. Time: 0.00096416473388672
13. Time: 0.00097393989562988
14. Time: 0.00098299980163574
15. Time: 0.00099301338195801
16. Time: 0.0010030269622803
17. Time: 0.0010130405426025
18. Time: 0.0010230541229248
19. Time: 0.0010330677032471
20. Time: 0.0010430812835693
21. Time: 0.0010571479797363
22. Time: 0.0010671615600586
23. Time: 0.0010771751403809
24. Time: 0.001086950302124
25. Time: 0.0010981559753418
26. Time: 0.0011081695556641
27. Time: 0.0011179447174072
28. Time: 0.001129150390625
29. Time: 0.0011391639709473
30. Time: 0.0011489391326904
31. Time: 0.0011589527130127
32. Time: 0.001168966293335
33. Time: 0.0011789798736572 w tym miejscu jakieś 3K danych
34. Time: 0.10146808624268
35. Time: 0.10149717330933
...
Co też okazuje się dziwne łącząc się z innego serwera przez phpmyadmin
(freebsd 7.0 mysql_client 5.0.x) jest wszytko ok. Łączac się phpmyadminem z innym serwerem mysql (freebsd 7.0 mysql 5.0.x) przez 'serwer1' też jest ok. Tylko przy łączeniu serwer1 -> serwer2 występuje te opóźnienie.
Co to może być??????????Tadeusz Nowak edytował(a) ten post dnia 31.08.10 o godzinie 23:00