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.
Uwielbiam tego bloga:)
Gratuluję Fablo!
Świetnie, ale czy dla użytkownika wszystko poniżej 200ms nie jest równie dobre?
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.
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.