1

Nous avons régulièrement reçu des rapports d'erreurs de serveur de la part des utilisateurs. Une fois dans l'état où cette erreur apparaît, il semble que les erreurs soient reproductibles localement. Si tel est le cas, nous pouvons généralement les reproduire pendant quelques minutes, mais pas à chaque page atteinte. Cela se réduit généralement d'elle-même et se résout généralement au moment où nous revenons en contact avec les utilisateurs.Besoin d'aide pour rechercher des erreurs de serveur sporadiques «Incapable de sérialiser l'état de la session»

Le service Web a environ 90-100 connexions actives pendant les heures d'ouverture. Le seul autre site sur ce serveur est la version intermédiaire de ce site, qui est très rarement touché. L'état de session est stocké sur la même instance SQLServer que la base de données d'application hébergée sur un cluster assez important de machines virtuelles. Ni le serveur Web ni le serveur SQL n'ont semblé être taxés (processeur ou mémoire) pendant que cela se produisait.

La distribution des pages qui semblent erronées semble être comparable à la distribution normale pour chaque page. Il ne semble pas y avoir de tendance en termes d'occurrences. Nous avons moins d'erreurs en moyenne le week-end (ce qui correspond à la charge normale du site), mais même cela ne semble pas être cohérent.

Il ne semble pas non plus y avoir de corrélation entre les erreurs consignées et tout type d'événements de surveillance des performances consignés. Cela comprend un tableau des compteurs perfmon dont:

.NET CLR Jit(w3wp)\notal # of IL Bytes Jitted 
.NET CLR Jit(w3wp)\IL Bytes Jitted/sec 
.NET CLR Jit(w3wp)\% Time in Jit 
.NET CLR Jit(w3wp)\# of Methods Jitted 
.NET CLR Jit(w3wp)\# of IL Bytes Jitted 
ASP.NET Apps v1.1.4322(__Total__)\Requests Failed 
ASP.NET Apps v1.1.4322(__Total__)\Errors Unhandled During Execution/Sec 
ASP.NET Apps v1.1.4322(__Total__)\Errors Unhandled During Execution 
ASP.NET Apps v1.1.4322(__Total__)\Cache Total Turnover Rate 
ASP.NET Apps v1.1.4322(__Total__)\Errors During Preprocessing 
ASP.NET Apps v1.1.4322(__Total__)\Errors During Execution 
ASP.NET Apps v1.1.4322(__Total__)\Requests Executing 
ASP.NET Apps v1.1.4322(__Total__)\Requests Total 
ASP.NET Apps v1.1.4322(__Total__)\Errors Total 
ASP.NET Apps v1.1.4322(__Total__)\Sessions Abandoned 
ASP.NET Apps v1.1.4322(__Total__)\Errors Total/Sec 
ASP.NET Apps v1.1.4322(__Total__)\Anonymous Requests/Sec 
ASP.NET Apps v1.1.4322(__Total__)\Requests/Sec 
ASP.NET Apps v1.1.4322(__Total__)\Session SQL Server connections total 
ASP.NET Apps v1.1.4322(__Total__)\Cache Total Hit Ratio 
ASP.NET v1.1.4322\Requests Current 
ASP.NET v1.1.4322\Request Execution Time 
Memory\Pages/sec 
Bytes Total/sec 
PhysicalDisk(_Total)\Avg. Disk Queue Length 
Processor(_Total)\% Processor Time 
Web Service Cache\File Cache Hits % 
Web Service Cache\File Cache Misses 
Web Service Cache\File Cache Hits 
Web Service(_Total)\Current Connections 
Web Service(_Total)\Post Requests/sec) 

Le seul modèle que je peux voir dans les journaux ne correspond pas à l'apparition de ces erreurs, mais est le seul modèle que je peux voir. En regardant les journaux de perfmon nous voyons un modèle où le "Nombre total d'IL Bytes Jitted", "IL Bytes Jitted/sec", "% temps dans Jit", "# de méthodes Jitted", et "# de IL Bytes Jitted "les compteurs pour le site de transit (qui ne devrait pas recevoir de trafic) ne tirent pas de données pendant une période de 20-50 minutes après quoi il y a un pic immédiat dans" IL Bytes Jitted/sec "et un saut dans"% Time à Jit "pour 2-20 minutes de jusqu'à 99% pour le site principal.

Si quelqu'un a des idées sur ce qui pourrait être à l'origine de ce problème, ou s'il a eu l'expérience d'un problème similaire, je serais reconnaissant pour toute contribution.

Merci!

+0

Ceci est probablement un objet mis en état de session qui n'est pas sérialisable, correctement vérifier toutes vos entités sont décorées avec l'attribut [Serializable]. Si vous utilisez resharper et que vous cliquez avec le bouton droit de la souris sur

+0

Merci pour les commentaires! La raison pour laquelle je m'éloigne de ce problème est que je vois les mêmes pages fonctionner sans erreurs de serveur la plupart du temps. – Daniel

Répondre

0

Ceci est un coup de couteau sauvage, car j'ai eu un problème similaire récemment (pas exactement la même chose).

Utilisez-vous l'indicateur /3GB au démarrage pour votre serveur?

Même si vous ne l'êtes pas, vous pouvez jeter un coup d'œil aux Entrées de table de pages système libres via perfmon (sous Mémoire). Vous devriez avoir en accès de 15K. Tout élément inférieur à 5-10 Ko est «incorrect» et peut entraîner des exceptions de MOO lors de l'enregistrement de la session.

http://blogs.technet.com/b/clint_huffman/archive/2008/04/07/free-system-page-table-entries-ptes.aspx

+0

Merci Phil, Le serveur n'a pas l'indicateur/3GB défini et il semble que le serveur Web est assis à 180701 entrées de table de la page système libre. Je vais ajouter ce compteur à mes journaux et voir si nous voyons une baisse dans ce lorsque l'erreur se produit. (BTW, comment ajoutez-vous des sauts de ligne?) – Daniel

+0

Il semble que les entrées de table de pages système libres soient assez proches de 180k (elles sont maintenues entre 180k et 181k pour le reste du vendredi et tout le week-end). – Daniel

Questions connexes