Απαιτήσεις: Να έχετε ένα στο .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
(Τέλος)
|