Archives de catégorie : Informatique

Explications, démo…

Itinéraire RATP

Dernièrement j’ai suivi une formation pendant laquelle le formateur se posait une question sur le métier de la RATP. Transporter des personnes ou Calculer des itinéraires ?

J’ai un début de réponse…

Pour un trajet du métro Montparnasse au métro Brochant, tous deux sur la ligne 13, le moteur d’itinéraire propose un trajet avec une correspondance et c’est pour lui le trajet avec le moins de correspondance !

Problème de performance IIS6 – IIS7 paramètre debug

Ce billet est quelque peu technique, âmes sensibles, vous êtes prévenues. 

Suite à la migration d’un serveur Windows 2003 / IIS6 vers un Windows 2008 / IIS7, nous avons eu un soucis de performance.

Nous avons utilisé l’utilitaire MSDeploy (http://www.iis.net/download/webdeploy) qui permet de faire une sauvegarde de la configuration IIS6 (la source) et une restauration sur un IIS7 (la cible).

Une fois mis en place et ouvert aux utilisateurs, les performances se sont révélées exécrables, alors que tous nos tests étaient concluants… Le problème venait d’un paramètre qui ne s’exprime pas de la même façon sur le IIS6 et le IIS7. Le mode débug.

Sur IIS6, aucune limitation alors que sur IIS7, ce mode activé a pour effet de limiter l’exécution du processus w3wp.exe à un seul thread par pool d’application. L’effet est assez déroutant, on a un serveur qui ronronne, RAM : ok, proc : ok, réseau : ok. mais les temps d’exécution sont hyper longs cas ils sont mis en file d’attente.


interface sous IIS6


interface sous IIS7

L’effet sur le serveur : debug activé

Débug désactivé : 

Une des pistes a été trouvée dans cet article : http://support.microsoft.com/kb/316451

« la cause classique est que le débogage de script ASP est activée. Lorsque le débogage est activé, seul thread de travail ASP est disponible pour traiter les demandes entrantes pour les pages ASP » ou en anglais : « When debugging is enabled, only one ASP worker thread is available to process the incoming requests for ASP pages. »

26880214126012011=26880214126012012

Aujourd’hui, je suis arrivé à ce résultat ou presque.

En javascript, quand le nombre en trop grand, alors la précision laisse à désirer.

Dans la console javascript, on peut reproduire très facilement le cas : 
il suffit de mettre a=26880214126012011
et le moteur js vous répond 26880214126012012 ce qui correspond, je pense, à une moindre précision.

>>> a=26880214126012011
26880214126012012
>>> a=26880214126012012
26880214126012012
>>> a=26880214126012013
26880214126012012
>>> a=26880214126012014
26880214126012016
>>> a=26880214126012015
26880214126012016
>>> a=26880214126012017
26880214126012016

>>> Number.MAX_VALUE
1.7976931348623157e+308

En gros, au delà de 17 chiffres, ça part en vrille. Vu que les derniers chiffres représentaient l’année, nous n’avons pas été impacté en 2010. Mais en 2011, vlan. C’est le bug de l’année 2011 !