Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Sphinx + MySQL] przekrocznie pamięci
Forum PHP.pl > Forum > Gotowe rozwiązania > Skrypty obsługi baz danych
webcitron
Nie jestem pewien czy temat zakładam na odpowiednim forum, starałem się znaleźć najodpowiedniejsze.

Próbuję do serwisu wprowadzić mechanizm wyszukiwania oparty na Sphinx-ie. Samo zaindeksowanie rekordów odbyło się bez problemów. Przy próbie pobrania rekordów:
  1. include 'sphinxapi.php';
  2. $sphinx = new SphinxClient();
  3. $sphinx->SetLimits( 0, 10 );
  4. $res = $sphinx->Query( 'opony', 'category' );


Dostaję błędy o przekroczeniu pamięci:
  1. Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 775238446 bytes) in /sphinxapi.php on line 610


Korzystam z popularnej (z tego co się zorientowałem) klasy sphinxapi.php.
Dodam że indeks category z którego tu korzystam jest całkiem mały - indexer wypisał mi że waży on zaledwie 1.6 MB.
Oczywiście chciałbym zobaczyć znalezione rekordy zamiast błędu smile.gif

Miał już ktoś podobne przejścia ze Sphinxem ?
gothye
zwiekrz limit pamieci jaką możesz wykożystać za pomocą php przez :

ini_set('memory_limit','64M');
webcitron
Pomyślałem o tym, na górze było nawet
  1. ini_set('memory_limit', '500M');
smile.gif
wookieb
A dlaczego nie korzystasz z peclowego rozszerzenia?
http://pecl.php.net/package/sphinx
webcitron
Powiem szczerze że o nim nie słyszałem smile.gif To jest tylko klient dla PHP, tak ?
wookieb
Jak widać tak.
webcitron
Peclowy klient sphinxa chyba odpada - jest problem ze skompilowaniem go pod freebsd na którym stoi serwer.

Może jednak ktoś zna rozwiązanie tego problemu ?
wookieb
Rozszerzenie Peclowe są wysoko wydajnymi (bo napisanymi w c/c++ i skompilowanymi) rozszerzeniami. Korzystanie z bibliotek napisanych w PHP nie jest tak wydajne i często rodzi problemy (jeden już masz).
Jeżeli autor biblioteki phpowej tego nie naprawi możesz spróbować sam. W przeciwnym wypadku jednak zmusisz się do zainstalowania rozszerzenia PECL-owego.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.