Ne kemi qenë duke punuar në një testim pranimin përdorues (UAT) mjedis që, në krahasim me zhvillimin, është i vdekur i ngadalshëm.
Kjo është një mjedis i komplikuar duke përdorur FBA, SQL 2008, SSRS dhe aplikimet web zgjeruara të arritshme në lidhje me internet duke përdorur https, kështu që ka qenë e vështirë për të gjurmuar çështjen.
Për një klient të mëparshëm, kemi përdorur FBA me një ofrues të roleve LDAP (dhe ofruesi anëtarësimi). One of my colleagues, shumë më i mençur se unë, determined that the "out of the box" Ofruesi i LDAP roli, kur përdoret në atë mjedis, wasn’t scaling well. To solve this problem for that client, he implemented a nice caching scheme in a custom role provider.
Kjo situatë dukej ngjashme, so we looked into replicating that solution to the today’s client. As I was debugging that, Kam vënë re se ky mesazh do shfaqet shpesh në log Sistemit (nga Event Viewer):
A worker process with process id of ‘XXX’ serving application pool ‘Home – 80’ has requested a recycle because it reached its virtual memory limit.
Mora kjo do të thotë se pishinë app është riciklimi larg, shumë shpesh dhe që do të shpjegojë një problem të performancës.
I looked at the app pool’s properties and its "Recycling" page showed that the property "Maximum virtual memory (në megabajt)" had been set to true and had been set to 5000. That seems like enough, but I decided to unset the value and that had an immediate positive effect. No more app pool recycling. No more mysterious slow-downs and pauses.
I don’t really understand the underlying "stuff" që po ndodh atje, por në mënyrë të qartë një lloj të kauzës / efekti gjë po ndodh dhe tani për tani, mjedisi UAT është i përdorshëm.
</fund>