Jak duże witryny eCommerce są tak szybkie? [zamknięte]

Pracowałem nad asp.net aplikacja e-commerce mvc3 oparta na NopCommerce.

Ostatnio pracowaliśmy nad stroną wydajności, aby poprawić wydajność witryny. Strona ma ponad 200000 produktów i 1200 kategorii i duże nr. marek. Wysiłki te doprowadziły do 20 do 200 razy przyrost wydajności, ale nadal, gdy bench oznaczone przed e-commerce Głównych jak, amazon, Flipkart, jabong, letsbuy, ebay, shopping.indiatimes.com, itp To jest jeszcze wolniej.

Teraz patrząc na kilka stron, takich jak Amazon, Flipkart & Jabong... Ich strona zaczyna się ładować z prawie zerowym czasem oczekiwania, a obrazy i inne zasoby ładują się niemal natychmiast.

Również dla wyszukiwania, Handel Nop barwi się powoli, wystarczy spojrzeć na FlipKart & Jabong lub Amazon, są bardzo szybkie. Nie masz pojęcia jak? Co oni robią? Czy wykonują wyszukiwanie w db czy coś innego?

Moje pytanie brzmi co robią, żeby mieć tak znakomite osiągi? Wiem, że oni mieć serwery równoważenia obciążenia z mem buforowane jak implementacja pamięci zaimplementowane do pamięci podręcznej może być cała strona.

Ale jakie są najlepsze praktyki przy tworzeniu tak dużej skalowalnej strony internetowej? Jak oni to robią? Czy któraś z nich używa opensource ' owej platformy e-commerce, takiej jak NOP commerce lub magento jako swojej bazy? A może wszyscy wolą wykonane na zamówienie?

Chciałby dowiedzieć się, jak skalować aplikację internetową taką jak oni z jej najlepszymi praktykami do wdrożenia. (Zauważ, że jest to ogólne pytanie, a nie związane z NOP-commerce, jest to jedna z najlepszych aplikacji e-commerce, z której korzystaliśmy do tej pory.)

Thanks

Author: Dharmik Bhandari, 2012-05-04

1 answers

Warstwa bazy danych jest zwykle wąskim gardłem, często znaczącym. Oznacza to, że konieczne jest posiadanie warstwy buforowania, aby zminimalizować dostęp do bazy danych i usunąć ją ze ścieżki krytycznej. Memcached może być dobrym rozwiązaniem, gdy magazyn wartości klucza jest wystarczający.

Jednak wiele rzeczywistych scenariuszy dotyczy złożonych modeli domen. W takich przypadkach znacznie lepiej jest użyć siatki danych w pamięci, która działa z obiektami domeny i która może obsługiwać obiekt osadzony związki.

Siatka danych w pamięci jest również bardzo pomocna, jeśli potrzebujesz wysokiej dostępności, elastycznego skalowania, maksymalnej wydajności i być może chcesz utworzyć architekturę sterowaną zdarzeniami lub dane przed przetworzeniem, zanim trafią do bazy danych. Oto dobry filmik opisujący jak robią to najwięksi gracze: http://youtu.be/1AR2WWaP8CE

Kolejną ważną optymalizacją byłoby skrócenie czasu pobierania treści, więc będziesz chciał również korzystać z sieci dostarczania treści. Zacznij od tych 2 optymalizacji i może się okazać, że wydajność nie jest już problemem.

Norma

 15
Author: Norm Leitman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:39