Estamos traballando nunha proba de aceptación do usuario (UAT) ambiente que, en comparación co desenvolvemento, é morto lento.
É un ambiente complicado usando o FBA, SQL 2008, SSRS e aplicacións web prolongados accesibles a través de internet utilizando https, por iso foi difícil rastrexar o problema.
A un cliente anterior, usan FBA cun proveedor de función LDAP (e proveedor de asociación). One of my colleagues, moito máis intelixente do que eu, determined that the "out of the box" Fornecedor de función LDAP, Cando se emprega en tal ambiente, wasn’t scaling well. To solve this problem for that client, he implemented a nice caching scheme in a custom role provider.
Esta situación parece similar, so we looked into replicating that solution to the today’s client. As I was debugging that, Notei que esta mensaxe sería frecuentemente aparecen no rexistro do sistema (do Visor de eventos):
A worker process with process id of ‘XXX’ serving application pool ‘Home – 80’ has requested a recycle because it reached its virtual memory limit.
Eu levei iso para dicir que o pool de aplicacións foi a reciclaxe de lonxe, demasiadas veces e iso explicaría un problema de rendemento.
I looked at the app pool’s properties and its "Recycling" page showed that the property "Maximum virtual memory (en megabytes)" 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" que está a suceder alí, pero está claro que algún tipo de causa / efecto cousa está a suceder e por agora, o ambiente UAT é utilizable.
</final>