Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 1417|Odpowiedź: 0

[Źródło] .NET/C# jest zoptymalizowany pod pomocą wydajności StackExchange.Redis

[Skopiuj link]
Opublikowano 2024-12-23 21:37:10 | | | |
Wymagania: Zazwyczaj programiści .NET używają biblioteki StackExchange.Redis do odczytu i zapisu operacji Redis, a dziś sprawdziłem łącze sieciowe i zauważyłem, że biblioteka StackExchange.Redis używa trybu singleton i faktycznie ustanawia 4 długie łącza TCP z serwerem Redis.

Wyszukaj w internecie i znajdź internauci, którzy odpowiedzą"Domyślnie każda instancja ConnectionMultiplexer w StackExchange.Redis tworzy co najmniej 2 połączenia na pamięć podręczną. Jeden do komend interakcji, drugi do publikowania/subskrybowania wiadomości.

Jeśli nie korzystasz z funkcji subskrypcji publikowania pubów/subredditów, możesz ją wyłączyć, aby zoptymalizować wykorzystanie połączenia.

Korzystając z polecenia CLIENT LIST na serwerze Redis, możesz zobaczyć wszystkie połączenia klientów,Przed optymalizacją przedstawiono poniższy rysunek



Kombinacja znaków klienta oznacza następująco:

A: połączenie powinno zostać zamknięte jak najszybciej
B: Klient czeka w operacji blokującej
c: Połączenie ma zostać zamknięte po napisaniu całej odpowiedzi
d: obejrzane zostały zmodyfikowane – EXEC zawiedzie
E: Klient jest wyłączony z mechanizmu eksmisji klienta
I: klient czeka na VM I/O (wycofany)
M: klient jest mistrzem
N: brak konkretnego zestawu flagi
O: klient jest klientem w trybie MONITOR
P: klient jest subskrybentem Pub/Sub
R: Klient jest w trybie tylko do odczytu względem węzła klastra
S: klient jest połączeniem repliki węzła z tą instancją
U: Klient odblokowany
U: klient jest połączony przez socket domenowy Unix
x: klient znajduje się w kontekście MULTI/EXEEC
T: Klient umożliwił śledzenie kluczy, aby wykonać bufor po stronie klienta
T: klient nie dotknie LRU/LFU kluczy, do których ma dostęp
R: klient śledzący docelowy jest nieprawidłowy
B: klient włączył tryb śledzenia nadawania
Jak wyłączyć subskrypcje publika/subsub publishing?

Opcja 1

Zmodyfikuj kod .NET w następujący sposób:

Opcja 2 (zalecana)

Zmodyfikuj ciąg połączeń bezpośrednio w następujący sposób:

Po zakończeniu modyfikacji uruchom program ponownie i zobaczysz, że połączenie subskrypcji publikuj zostało zamknięte, jak pokazano na poniższym rysunku:



Przed: nawiązano 4 połączenia TCP, a po: 2 połączenia TCP.

Odniesienie:

Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.





Poprzedni:Szyfrowanie obfuskujące kodem kątowym ułatwione
Następny:Kod testowy .NET/C# dla wielu głównych rozwiązań metod
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com