Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Shpinx i InnoDB


matma4u

Rekomendowane odpowiedzi

Dzień dobry,

 

ostatnio przenosiłem forum na inny serwer. Z racji tego, że mam zainstalowane PHP w wersji >5.6 i serwer MYSQL Percona >5.6 pozwoliłem sobie na przetestowanie kilku rzeczy, których do tej pory nie mogłem spróbować. Jak wiecie od wersji 5.5 domyślnym silnikiem bazy jest InnoDB, przy czym jeszcze w tej wersji nie było wsparcia dla wyszukiwania pełnotekstowego. Dopiero wersja 5.6 takie wsparcie posiada. To podsunęło mi pomysł by spróbować tego rozwiązania. Całą konwersja bazy z silnika MyISAM do InnoDB, bardzo łatwa, zajęła mi 30 minut. Co rzuciło mi się na oczy to bardzo krótki czas zapisywania danych do bazy - pierwszy +. Drugi to fakt, że wszystkie dane są spójne, nie trzeba nic naprawiać ani optymalizować.

 

---------muszę lecieć---------

46279b204b.png

Rozwiążemy dla Ciebie każde zadanie z matematyki: http://matma4u.pl

Odnośnik do komentarza
Udostępnij na innych stronach

$INFO['mysql_tbl_type']      =  'MyISAM';

 

A niedługo:

 

$INFO['mysql_tbl_type']      =  'InnoDB';

 

Chętnie sam przetestuję, jeśli twierdzisz, że jest zdecydowanie na korzyść.

 

A propos sphinx, to chyba nie zdążyłeś o tym jeszcze napisać, lecz sam się zastanawiałem nad tym rozwiązaniem.
 

Edytowane przez xSkyer
Odnośnik do komentarza
Udostępnij na innych stronach

A propos sphinx, to chyba nie zdążyłeś o tym jeszcze napisać, lecz sam się zastanawiałem nad tym rozwiązaniem.

 

Tak nie zdążyłem, bo poszedłem synka położyć spać.

Ja w pliku konfiguracyjnym IPB mam już ten wpis:

$INFO['mysql_tbl_type']      =  'InnoDB';

 

Wszystko działa bezbłędnie.

 

Z testów, które widziałem na różnych blogach anglojęzycznych itp wynika jedno: silnik InnoDB dorównuje możliwościami MyISAM, a niejednokrotnie przewyższa go. Zresztą jak tłumaczyć, fakt że od wersji MySQL 5.5 jest silnikiem domyślnym.

 

Co do Sphinx'a to instalacja tego dodatku pod IPB przysporzyła mi wielu kłopotów, ale w końcu udało się i wszystko działa. W dużej mierze pomógł mi ten poradnik: https://www.invisionpower.com/support/guides/_/maintenance-and-server-configurations/searching-r21

Niestety twórcy IPB nie przewidzieli, że ktoś może mieć moduł sphinx włączony w php. Ta sytuacja przysparzała najwięcej problemów. Non stop wyrzucało błąd:

Fatal error: Cannot redeclare class SphinxClient in /*****/*******/public_html/sphinxapi.php on line 406

Rozwiązanie okazało się bardzo proste, wystarczyło wyłączyć moduł sphinx w pliku php.ini i w tym momencie wszystko zaczęło działać.

 

Niestety póki co nie mogę podzielić się żadnymi spostrzeżeniami na temat wydajności tego rozwiązania, bo Sphinx działa u mnie dopiero od 24h. Myślę jednak, że po zbudowaniu indeksów ujawni swoją moc.

 

Jedno jest pewne, działa pod IPB i z pewnością pozwoli zaoszczędzić sporą część zasobów serwera oraz wpłynie pozytywnie na wydajność bazy danych. Zresztą jak wykazują testy pełnotekstowe wyszukiwanie za pomocą Sphinxa jest dużo wydajniejsze od dostępnego wyszukiwania w bazie MySQL.

 

 

A może ktoś z Was używa takich rozwiązań i zechce podzielić się swoimi spostrzeżeniami.

Edytowane przez matma4u
  • Lubię to 2

46279b204b.png

Rozwiążemy dla Ciebie każde zadanie z matematyki: http://matma4u.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Dziś po kilku dniach testów mogę tylko jedno powiedzieć: obsługa SPINX'a pod IPB jest skopana, totalnie!

 

Jeżeli ustawie w ACP wyszukiwanie tradycyjne to dla tagu np trójkąt prostokątny pokazuje 97 wyników, ale już dla SPHINX'a 0 wyników. I nie jest to wina polskich ogonków, bo mam wszystko odpowiednio skonfigurowane np pod SPHINX dla tagu Rachunek różniczkowy pokazuje 53 (tyle samo co dla tradycyjnego wyszukiwania).

 

Dziwnie to działa, bo jak wyżej pisałem dla trójkąt prostokątny dla SPHINX'a pokazuje 0 wyników w sekcji forum, a w sekcji blog 122 wyników. Mimo tego, że żaden wpis w blogach nie został otagowany tym znacznikiem.

46279b204b.png

Rozwiążemy dla Ciebie każde zadanie z matematyki: http://matma4u.pl

Odnośnik do komentarza
Udostępnij na innych stronach

 

Dziś po kilku dniach testów mogę tylko jedno powiedzieć: obsługa SPINX'a pod IPB jest skopana, totalnie!

 

Nie tylko sphinxa... Ilekroć wyszukuję cokolwiek wyszukiwarką IPB to zawsze wyskakuje mi mnóstwo tematów, tylko nigdy nic związanego z tym co akurat potrzebuję... Potem pada seria niecenzuralnych słów, następuje otwarcie nowej karty z google i dopiero znajduję com chciał. W sumie to smutne, że przez tyle lat nie potrafili nic z tym zrobić. A w sumie to zrobili, bo do wersji 3.4.7 wyszukiwarka w ips marketplace działała całkiem przyzwoicie, ale i tę musieli popsuć w wersji 4.0 :(

Odnośnik do komentarza
Udostępnij na innych stronach

Dlatego wgrałem moda i domyślną wyszukiwarką jest teraz u mnie Google.  Szkoda, bo Sphinx jest świetny, dobrze skonfigurowany (stopwords i odmiany) potrafi podać na tacy świetne wyniki, ale tak jak pisałem pod IPB to porażka. Ja wiem, że IPS nie musi go używać, mając własne serwery nie musi oszczędzać ich zasobów, ale dla mnie użytkownika VPS to było świetne rozwiązanie, mocną odciążające bazę danych.

Edytowane przez matma4u

46279b204b.png

Rozwiążemy dla Ciebie każde zadanie z matematyki: http://matma4u.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Właśnie testuję InnoDB. A co do oszczędności (lub nie) zasobów - zawsze, gdy istnieje rozwiązanie na redukcję zużycia zasobów, zawsze powinno się tego używać. Nawet, jeśli masz serwery z prawie gumy, to należy być przygotowanym na spore obciążenie. Spróbuj też memcached i APC. :)

 

Edit: z internetu wyczytałem, że MyISAM ma mniejszą chrapkę na zasoby niż InnoDB, ale ten drugi (w moim mniemaniu) jest znacznie wydajniejszy. Jaki tego wniosek? Moim zdaniem, to drugie jest lepsze i w efekcie długoterminowym mniej zasobożerne i to z prostej przyczyny: im szybciej rozwiązuje się interpretator PHP, tym bardziej wypoczęty jest nginx, bo nie musi przez cały czas długo odpowiadać na żądania.

Edytowane przez xSkyer
Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.