Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Sphinx + MySQL] przekrocznie pamięci
webcitron
post 7.01.2011, 19:54:13
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 17.11.2008

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


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 ?
Go to the top of the page
+Quote Post
gothye
post 7.01.2011, 20:23:13
Post #2





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


zwiekrz limit pamieci jaką możesz wykożystać za pomocą php przez :

ini_set('memory_limit','64M');


--------------------
Nie udzielam pomocy poprzez PW
Go to the top of the page
+Quote Post
webcitron
post 7.01.2011, 21:03:24
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 17.11.2008

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


Pomyślałem o tym, na górze było nawet
  1. ini_set('memory_limit', '500M');
smile.gif
Go to the top of the page
+Quote Post
wookieb
post 7.01.2011, 22:43:01
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A dlaczego nie korzystasz z peclowego rozszerzenia?
http://pecl.php.net/package/sphinx


--------------------
Go to the top of the page
+Quote Post
webcitron
post 8.01.2011, 00:17:45
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 17.11.2008

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


Powiem szczerze że o nim nie słyszałem smile.gif To jest tylko klient dla PHP, tak ?
Go to the top of the page
+Quote Post
wookieb
post 8.01.2011, 07:22:27
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Jak widać tak.


--------------------
Go to the top of the page
+Quote Post
webcitron
post 13.01.2011, 12:04:46
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 17.11.2008

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


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 ?
Go to the top of the page
+Quote Post
wookieb
post 13.01.2011, 12:37:20
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.

Ten post edytował wookieb 13.01.2011, 12:37:38


--------------------
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: 24.04.2024 - 19:25