Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 5163|Απάντηση: 5

[.NET Πυρήνας] ASP.NET Core (18) Προσαρμόστε μια απλή κρυφή μνήμη εξόδου OutputCache

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2023-5-7 21:42:06 | | | |
Απαιτήσεις: Να έχετε ένα στο .NET FrameworkOutputCacheAttributeΗ δυνατότητα (η οποία χρησιμοποιείται για τη σήμανση της μεθόδου λειτουργίας της προσωρινής αποθήκευσης της εξόδου της) αποθηκεύει δεδομένα με συχνή πρόσβαση και σπάνια αλλαγή στη μνήμη και εξάγει απευθείας περιεχόμενο απόκρισης, γεγονός που μπορεί να βελτιώσει την απόδοση συγχρονισμού του ιστότοπου και να μειώσει την πίεση στον διακομιστή και τη βάση δεδομένων. Αυτή η δυνατότητα προστέθηκε ξανά μόνο στο .NET 7.





ASP.NET Έξοδος ενδιάμεσου λογισμικού προσωρινής μνήμης στο Core:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Η αρχή της προσωρινής αποθήκευσης εξόδου: κάθε αίτημα καθορίζει πρώτα εάν υπάρχει στην κρυφή μνήμη, εάν δεν υπάρχει, γράφει το περιεχόμενο της απόκρισης στην κρυφή μνήμη και στη συνέχεια εξάγει την απόκριση, εάν υπάρχει η κρυφή μνήμη, η απόκριση εξόδου δεδομένων λαμβάνεται απευθείας από την κρυφή μνήμη. μέσω cache εξόδουΗ μείωση της υποβολής ερωτημάτων στη βάση δεδομένων, η μείωση ορισμένων λογικών λειτουργιών και η ανάκτηση απευθείας από την κρυφή μνήμη βελτιώνει τόσο τον συγχρονισμό όσο και την ανταπόκριση

Δεδομένου ότι δεν υπάρχει δυνατότητα OutputCacheAttribute στο .NET 6, μπορούμε να εφαρμόσουμε μόνοι μας μια απλή προσωρινή μνήμη εξόδου.


Ελλείψει κρυφής μνήμης εξόδου, τα αποτελέσματα της δοκιμής αντοχής είναι τα εξής (Η βάση δεδομένων του έργου είναι συνδεδεμένη με τον διακομιστή του Χονγκ Κονγκ):



Αποτελέσματα τεστ αντοχής: Επιτρέπονται μόνο 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 (δεκατέσσερα) βασίζεται στο captcha εικόνας 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 (δώδεκα) front-end 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 Λεπτομερής επεξήγηση του ενδιάμεσου λογισμικού Middleware του Core (9).
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Λεπτομερής επεξήγηση του Core Middleware
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 Πυρήνας (VI) Το DI λαμβάνει χειροκίνητα τη μέθοδο έγχυσης αντικειμένων
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Ο πυρήνας (πέντε) βασίζεται σε κατανεμημένες συναλλαγές της ΚΓΠ
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Επικύρωση ενοποιημένου μοντέλου ModelState φίλτρου Core(4)
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 OutCache cache flushing
https://www.itsvse.com/thread-5843-1-1.html

ASP.NET Διαμόρφωση παραμέτρων web.config cache cache
https://www.itsvse.com/thread-4917-1-1.html

mvc cache τη σωστή χρήση της ιδιότητας 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 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com