Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 5163|Отговор: 5

[.NET Core] ASP.NET Core (18) Персонализиране на прост OutputCache изходен кеш

[Копирай линк]
Публикувано на 2023-5-7 21:42:06 | | | |
Изисквания: Да имате такъв в .NET FrameworkOutputCacheAttributeФункцията (която се използва за маркиране на начина на кеширане на изхода) съхранява често достъпвани и рядко променящи се данни в паметта и директно извежда отговорното съдържание, което може да подобри конкурентната производителност на уебсайта и да намали натиска върху сървъра и базата данни. Тази функция беше добавена едва в .NET 7.





ASP.NET Извеждане на кеш междинен софтуер в Core:Входът към хиперлинк е видим.

Принципът на кеширането на изхода: всяка заявка първо определя дали съществува в кеша, ако не съществува, записва съдържанието на отговора в кеша и след това извежда отговора; ако кешът съществува, отговорът за данни се получава директно от кеша. чрез изходен кешНамаляването на заявките към базата данни, намаляването на някои логически операции и директно извличане от кеша подобрява както конкурентността, така и реактивността

Тъй като в .NET 6 няма функция OutputCacheAttribute, можем сами да реализираме прост изходен кеш.


При липса на изходен кеш, резултатите от стрес теста са както следват (Базата данни на проекта е свързана със сървъра в Хонконг):



Резултати от стрес теста: Разрешени само 10 паралелности в секунда (бавен трансфер на база данни).

За да опитате да добавите изходен кеш, първо създайте нова функция OutputCacheAttribute, кодът е следният:

Създайте нов междинен софтуер OutputCacheMiddleware, който блокира заявката, и кодът е следният:

Добавете междинния софтуер UseOutputCacheExtensions към Program.cs със следния код:

Накрая, добавете функцията към метода на контролера със следния код:

Отново с тестване под налягане това може да се постигнеНад 10 000 съвпадения в секунда, както е показано на фигурата по-долу:

cassowary.exe run -u http://localhost:5222/zh-cn -c 50 -n 100000



Инструментът Cassowary за стрес тестване при HTTP заявки
https://www.itsvse.com/thread-10557-1-1.html
(Край)




Предишен:[Завърти]. NET 8 Новодобавени високопроизводителни типове
Следващ:Използват се канали с високопроизводителна опашка .NET Core
 Хазяин| Публикувано на 2023-5-7 21:50:45 |

преглед

ASP.NET Core (17) интегрира анализ на производителността на приложенията MiniProfile
https://www.itsvse.com/thread-10571-1-1.html

ASP.NET Ядро (16) Зависи от инжектиране на динамични регистрационни услуги
https://www.itsvse.com/thread-10560-1-1.html

ASP.NET Core (XV) използва HttpClient за изпращане на HTTP заявки
https://www.itsvse.com/thread-10311-1-1.html

ASP.NET Core (четиринадесет) е базиран на капча за изображения на SkiaSharp
https://www.itsvse.com/thread-10287-1-1.html

ASP.NET Core (XIII), за да определи дали е заявка на Ajax или не
https://www.itsvse.com/thread-10284-1-1.html

ASP.NET Core (дванадесет) фронтенд JS, CSS пакетиране и компресия
https://www.itsvse.com/thread-10282-1-1.html

ASP.NET Маршрутът на крайната точка на Core (XI) добавя междинен софтуер за показване на всички DI услуги
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Подробно обяснение на приоритетите на конфигурацията в Core(10).
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Подробно обяснение на междинния софтуер на Core (9).
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Подробно обяснение на основния междинен софтуер
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET яма с стандартните параметри на Swagger UI в Core(8).
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Ядро (7) Задълбочен анализ на изходния код на рамката
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core (VI) DI ръчно получава метода за инжектиране на обекти
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core (пет) се базира на разпределени транзакции с CAP
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Филтър Core(4) унифицирана валидация на модела ModelState
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Ядро (iii) Динамично създаване на инстанции чрез ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Ядро (2) Рестартиране на приложението чрез код
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) използва кеширане на Redis
https://www.itsvse.com/thread-9393-1-1.html
 Хазяин| Публикувано на 2023-5-7 21:53:14 |
Относно asp.net настройката за изключване на изчистването на кеша в OutputCache
https://www.itsvse.com/thread-5843-1-1.html

ASP.NET Конфигурация на параметъра OutputCache web.config
https://www.itsvse.com/thread-4917-1-1.html

mvc кеширайте правилното използване на свойството OutputCache VaryByParam
https://www.itsvse.com/thread-3488-1-1.html
Публикувано на 2023-5-8 09:37:41 |
Научи се да учиш
Публикувано на 2023-5-17 10:37:28 |
HTTP статус код: 204 Без съдържание

204 Без съдържание: Сървърът успешно обработи заявката, но не върна нищо.

Писането към тялото за отговори е невалидно за отговори с код на статус 204.
 Хазяин| Публикувано на 2023-6-22 13:20:52 |
Свойство HttpRequest.BodyReader:https://learn.microsoft.com/zh-c ... prequest.bodyreader

Свойство на HttpResponse.BodyWriter:https://learn.microsoft.com/zh-c ... response.bodywriter
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com