Bing przyspieszył po przesiadce na .NET Core 2.1

Bing przyspieszył po przesiadce na .NET Core 2.1

Autor: Krzysztof Sulikowski

Opublikowano: 8/20/2018, 10:52 PM

Liczba odsłon: 809

Bing.com jest usługą w chmurze, działającą na tysiącach serwerów w wielu centrach danych na całym świecie. Każdej sekundy Bing przetwarza tysiące zapytań od użytkowników, wyszukując w przeglądarkach, usługach partnerów z API Microsoft Cognitive Services i poprzez cyfrową asystentkę Cortanę. Bing zawsze działał w .NET Framework, a teraz, po dodaniu pewnych API, został przeniesiony do .NET Core 2.1. Ruch ten okazał się strzałem w dziesiątkę, bowiem wyszukiwarka działa teraz szybciej! Wyniki można prześledzić na wykresie poniżej.

Stos front-endowy Bing jest napisany przeważnie według wzorca MVC. Większość logiki biznesowej została napisana jako modele danych w C#, a logika widoku jest napisana w Razorze. Warstwa ta jest odpowiedzialna za przekształcanie danych z wyników wyszukiwania (kodowanych jako Microsoft Bond) do HTML, który jest następnie kompresowany i przesyłany do przeglądarki. Od samego początku Bing działał w .NET Framework, ale od pewnego czasu Microsoft pracował nad przeniesieniem go do .NET Core. Zmiana dyktowana była przede wszystkim wydajnością. Po przesiadce okazało się, że .NET Core 2.1 rzeczywiście zadziałał na jej korzyść. .NET Core 2.1 poczynił duże usprawnienia wydajności w praktycznie wszystkich obszarach runtime'u i bibliotek - chwali się Microsoft.

Bing - latencja

Nasze dane produkcyjne rezonują ze znaczącymi usprawnieniami wydajności w .NET Core 2.1 (w porównaniu do zarówno .NET Core 2.0, jak i .NET Framework 4.7.2) - pisze dalej Microsoft. Wykres, który widzicie powyżej, ilustruje wewnętrzną latencję serwera na przestrzeni ostatnich kilku miesięcy. Oś Y pokazuje latencję. Ten największy spadek, datowany na 2 czerwca, to wdrożenie .NET Core 2.1. Microsoft wylicza, że dzięki tej implementacji latencja spadła o 34%. Jako odpowiedzialnych za ten rewelacyjny wynik Microsoft wymienia autorów 5 zmian w .NET Core 2.1:

Za dodanie tego wkładu Microsoft podziękował społeczności .NET, dodając też, że .NET Core 2.1 wprowadził wsparcie Brotli dla ekosystemu .NET Library. Z tej możliwości korzysta Bing, aby dynamicznie kompresować zawartość i dostarczać ją wspieranym przeglądarkom.

Kup 10 licencji Copilot dla Microsoft 365 i otrzymaj 50% zniżki!
Kup 10 licencji Copilot dla Microsoft 365 i otrzymaj 50% zniżki!

Wydarzenia