Fablo: szybciej od cache konkurencji

2010-09-27

Fablo jest silnikiem wyszukiwarki napisanym od zera przez nas, nie ma więc obciążeń starszego oprogramowania. Spędziłem właśnie kilka dni z profilerem w ręku przyglądając się czasom odpowiedzi.

Zainspirowała mnie nasza konkurencja, która wyraźnie zaniepokojona nadejściem Fablo zamieszcza swoje reklamy pod każdym artykułem lub blogpostem o nas. Na stronach WWW konkurencji wyczytałem, że ich rozwiązanie ma cache przyspieszający czas odpowiedzi do 10ms.

My też mamy cache (od niemal zawsze mieliśmy), ale do prac nad wydajnością wyłączyłem cache i mierzyłem czasy pełnych wyszukiwań. Rezultaty? Nasz średni czas odpowiedzi z pełnym wyszukiwaniem jest o dwa odchylenia standardowe lepszy od czasu odpowiedzi z cache naszej konkurencji. Inaczej mówiąc, 95% zapytań obsługujemy szybciej niż cache konkurencji, a przypomnę, że u nas w tej chwili cache do pomiarów jest wyłączony!

Oczywiście testowane na prawdziwej pełnej bazie produktowej jednego z naszych klientów, z generowanymi automatycznie losowymi zapytaniami z odpowiednio dobranych słów, na próbie 10 tysięcy zapytań, z tylko jednym serwerem API (bo chodzi o pomiar czasu odpowiedzi a nie skalowalności).

Polecamy używać Fablo zamiast cache, będzie szybciej.


Komentarze

Uwielbiam tego bloga:)

Gratuluję Fablo!

Bauer2010-09-28

Świetnie, ale czy dla użytkownika wszystko poniżej 200ms nie jest równie dobre?

Paweł Kołodziej2010-09-28

Paweł: wkrótce dowiesz się dlaczego nie, nie jest równie dobre :-)

Poza tym, zwróć uwagę na stronę serwerową: jest duża różnica czy potrafimy obsłużyć 5 żądań na sekundę, czy kilkaset.

Jan Rychter2010-09-29

Można mieć "głęboki pipeline" i obługiwać kilkaset requestów na sekunde, ale każdy w czasie 200ms. Rozumiem, że robicie "podpowiedzi w locie" - wtedy 10ms a 200ms to pewnie przepaść.

Z niecierpliwością czekam na wdrożenie. Ostatnio próbowałem kupić coś w internetowym spożywczaku i wszystkie mają wyszukiwarkę do bani. Zresztą nie tylko wyszukiwarkę. Całe UX można by poprawić z 1000 razy.

Paweł Kołodziej2010-10-08