2010-02-04 9 views
5

Je suis impliqué dans un projet utilisant DotNetNuke version 05.01.04 Community Edition. Nous construisons notre nouvel Intranet en l'utilisant, mais la performance est terrible.Terrible performance DotNetNuke

Nous avons cinq personnes qui ajoutent des pages et du contenu et toutes les 15-30 secondes ils connaissent une pause de 10 secondes ou plus avant que le système continue et les écrans suivants se charge.

Le serveur est Windows 2003, 3,8 GHz avec 1 Go de RAM. Mon administrateur de serveur me dit que les performances du processeur et de la mémoire ne semblent pas être le goulot d'étranglement.

Nous avons actuellement 350 pages dans le système, nous avons l'intention d'en ajouter 1000. Nous devons donc résoudre ce problème de performance afin que nous puissions entrer du contenu et que nous puissions y accéder.

Je n'arrive pas à voir où se trouve le goulot d'étranglement. Y at-il une bonne raison pour déterminer le goulot d'étranglement lors de l'utilisation de DotNetNuke?

modules installés

  • Publier: Engagez (Pas actuellement utilisation)
  • page Blaster (Ne semble pas à fournir la mise en cache lorsque les utilisateurs connectés en utilisant l'authentification intégrée
  • SimpleGallery
  • XMod
  • Content Manager

IIS Configuration
application recyclage complètement handicapées (Outre un recyclage de deux heures)

De nouvelles découvertes: Le 18 Mars 2010
Le principal goulot d'étranglement était due à la version 5.1.4 ayant un bug qui a causé 1300 allers-retours de base de données sur une page moyenne, en raison de la mise en cache de la mémoire de base de données cassée. Nous avons mis à niveau vers 5.2.4 ce qui a résolu ce goulot d'étranglement.

Maintenant, le plus gros goulot d'étranglement est la navigation. Nous avons utilisé à la fois DDR:Menu et DDN: Nav, mais les deux ont un impact majeur sur les performances.

Existe-t-il une interface de navigation qui ne gâche pas autant les performances?

+0

Performance peaufiné essayé: * Mise en place cache DNN pour 'Heavy' * Installé page Blaster * Désactivé recyclage d'applications IIS –

+1

Quelle version SQL Server utilisez-vous? si l'édition expresse, alors ceci est connu pour utiliser seulement un processeur, peut-être c'est le goulot d'étranglement? – lmsasu

+0

Avez-vous activé la compression de pages (gzip ou deflate)? Le filtrage des espaces est-il activé? En outre, essayez d'installer Firebug dans Firefox avec le module complémentaire YSlow pour voir quelle ressource pourrait prendre le plus de temps à charger. –

Répondre

5

Je pense que vous devez commencer à étudier cela à l'aide d'outils de profilage de performance. Pour l'application DNN elle-même, je voudrais prendre quelque chose comme JetBrains DotTrace ou Red Gate ANTS Performance Profiler.

Pour la base de données SQL Server Profiler serait le premier choix ou un outil tel que SQL Response de Red Gate.

Sans profiler l'application, vous allez tirer sur des pailles.Et comme Tim l'a souligné dans son commentaire, installer Firebug dans Firefox avec le complément YSlow pour voir quelles sont les ressources qui prennent le plus de temps à servir au navigateur.

+0

Vous n'avez pas vraiment besoin de payer pour des outils supplémentaires pour ce faire. Tout ce qui est nécessaire pour l'analyse de performance de base est déjà intégré. – RBarryYoung

+1

@RbarryYoung - c'est vrai, mon point principal était qu'il devrait profiler l'application/base de données au lieu de s'accrocher aux pailles. Quels outils il choisit est entièrement à lui. Aussi vrai qu'il existe des outils gratuits, mais ce sont des outils pro que j'ai utilisés qui font le travail un peu mieux (à mon humble avis), c'est tout. – Kev

+1

JetBrains DotTrace a été un sauveur de vie - il nous a montré le goulot d'étranglement initial de la base de données (avec SQL Profiler) puis après avoir corrigé qu'il nous a montré les problèmes de performance de navigation et d'Url Rewriting. –

3

J'ai plusieurs années d'expérience de développement et de maintenance de dnn, quand j'ai ce genre de problème, je commence à faire des choses de database clean up. La prochaine chose est, trouver pour les index manquants, et/ou reconstruire tous les index périodiquement (travail SQL prévu pour cela) mais le gain de performance majeur serait de nettoyage de la table

Une autre bonne considération serait, désactiver la trace, le mode de débogage aux caractéristiques fausses et de désactiver DNN que vous n'utilisez pas (planificateur est le premier à désactiver)

Edit: considérer keep alive et Hope this helps

+0

Nous avons maintenant ajouté des index supplémentaires et un planificateur désactivé. Bien que rien de tout cela n'ait été le goulot d'étranglement principal et n'a pas amélioré la performance de façon notable. –

4

Mitchel Sellers a quelques bons tutoriels et des listes de vérification pour passer en ce qui concerne la performance en DNN. Commencez par Explaining High Performance DotNetNuke Configuration and Management (ce qui indique certains de ses articles précédents).

+0

Merci, va étudier ces solutions de menu que notre actuel est le goulot d'étranglement actuel. –

0

Votre base de données est-elle sur ce serveur? Si c'est le cas, il suffit d'ajouter un peu plus de RAM ou d'obtenir un tableau de disques plus rapide ...

+0

La base de données est sur un serveur séparé. La RAM sur les serveurs Web et de base de données est au maximum autorisée par la carte mère/le système d'exploitation. –

+0

Vous ne pouvez pas me convaincre que votre serveur ne permet que 1 Go de RAM. Si c'est vrai, je suis impressionné que vous ayez réussi à installer Windows 2003 sur un smartphone! –

0

Avez-vous envisagé de créer ce lot de pages directement via TSQL? Ce n'est pas difficile à faire et peut vous faire gagner beaucoup de temps.

+0

Nous sommes maintenant passé le niveau de l'ajout de pages et dans la tentative d'atteindre un niveau de performance assez décent pour lancer la scène (!) –