Je suis sur le point de commencer à travailler sur des améliorations de performance pour l'un de nos produits. Nos utilisateurs se connectent au réseau à l'aide de la radio extrêmement lente. Les principaux goulots d'étranglement de l'application sont le réseau et la base de données. Je vais me concentrer sur la réduction de l'empreinte du réseau de l'application. p>
Je vais commencer par quelques «victoires rapides» avant que je sois à la nervosité gritchy de la déchirure des panneaux ugious, en supprimant le contenu inutile et quoi que ce soit d'autre que je puisse penser.
À l'heure actuelle, j'ai quelques petites choses que je pense que je suis prêt à mettre en œuvre
Ceux-ci incluent p>
Cependant, j'ai quelques petites choses que je ne sais pas comment je vais aborder. P>
Certaines ressources Microsoft ( est-il possible de combiner les ressources Microsoft en un seul fichier JS avec mon JavaScript? P> Li>
Erreurs 401, dans Fiddler, je peux voir que mon premier coup sur le site Web donne toujours une erreur 401, il est immédiatement suivi par la normale 200. Les autres ressources auront également au hasard un 401 sur leur premier appel. Est-ce une sorte de paramètre IIS qui doit être configuré pour supprimer cet appel inutile? p> li>
JavaScript dans les fichiers ASPX. Malheureusement, nous avons beaucoup de JS à l'intérieur de nos fichiers ASPX ainsi que beaucoup de JavaScript qui est rendu en utilisant
webresource.axd? D = blahablah code> et
scriptresource.axd? D = blahablah code>) ne sont pas minifiés. Ce et Ceci < / a> et quelques autres selon la page. Microsoft.Ajax est bien cependant. Comment puis-je minifier manuellement ces fichiers si elles ne sont pas automatiquement minifiantes? Est-ce que je manque un réglage quelque part? p> li>
scriptmanager.registerstartupscript code> dans notre code derrière. Comment irai-i volonté de minier JavaScript dans
7 Réponses :
Vous devriez également envisager une compression permettant à IIS. p>
Fusion de ressources de script Microsoft: strong> Consultez mon Projet contentgator que j'ai Utilisé pour intercepter des demandes pour les fichiers WeBresource (et d'autres scripts et CSS) et les fusionner ensemble. Je ne l'ai pas mis à jour dans quelques années, je ne peux donc pas parler à la qualité de la boîte, vous devriez au moins pouvoir réutiliser une partie du code. Je ne pense pas que je me souvienne d'ajouter de minécrification, mais vous devriez pouvoir l'ajouter assez facilement. Je pense que cela dispose également de crochets dans le registreStartupscript, soit une alternative à ce que vous devriez être capable de filer en miniération. P>
En outre, consultez http://developer.yahoo.com/yslow/ pour plus d'autres Conseils généraux d'optimisation Web. P>
Autres choses au sommet de ma tête: P>
1 et 2) Optimiser .axd: http://madskristensen.net/ post / optimise-webresourceasaxd-and-scriptresourceasaxd.aspx Modifier Lien mort strong> Compressez la ressource de script .zip Cache Google de l'article 3) HTTP 401 non autorisé: Votre mécanisme d'authentification configuré fait cela. Si vous avez une authentification Windows activée mais n'utilisez pas ... p> 4) JS incorporé: MS AJAX Minifier P> http://www.codeproject.com/articles/81317/automatiquement-compress-bedded-javascript-resourc p> http: //stephenwalther.com/blog/archive/2009/10/16/fus-the-new-microsoft-ajax-minifier.aspx P> Il n'y a pas grand chose que vous puissiez faire pour JS mélangé avec votre balisage. Vous pouvez faire votre propre utilité pour l'analyser hors de l'ASPX (s) avec regex et créer un fichier contenant tout cela par page, puis miniez ce fichier et insérez la référence de script. Les expressions régulières pour capturer tout dans les étiquettes de script finiront par être assez complexe à cause des cas d'angle tels que ... p> 5) Favicon: Vous avez soit une étiquette de liaison sur votre Page (s) qui référence avec rel = "icône de raccourci" ou avez un fichier "Favicon.ico" assis à la racine de votre site Web. Si vous n'avez pas les étiquettes de lien, le navigateur vérifiera automatiquement la racine de votre site Web. P> P>
Solution pour 1 et 2, le lien est cassé
http://wiki.asp.net/page.aspx/80 / optimisation ASPnet / p>
a un excellent ensemble de ressources sur les différents éléments que vous pouvez / si vous devez étiez-vous pour créer des applications Web Speedster sur ASP.NET! NJOY :) P>
de gtmetrix.com : p>
Vous pouvez utiliser l'outil GTMetrix, Yslow ou la page de la page de Google pour voir comment tout cela l'impact, mais cet outil GTMetrix est généralement génial et combine des fonctionnalités pour vous, ainsi que des générations automatiques qui vous donnent la Versions améliorées des fichiers CSS, etc. P>
"Utiliser des sélecteurs efficaces CSS" n'appartient pas à cette liste. Cela n'a rien à voir avec la vitesse de connexion, et plus à faire avec la vitesse de rendu.
@Eli gris c'est correct, mais je sens qu'il appartient ici. De manière générale, l'utilisation de sélecteurs de CSS efficaces conduit à des fichiers plus petits ainsi qu'une expérience plus rapide de l'utilisateur. Je suis amusant que la plupart des utilisateurs ne comprennent pas la différence entre le transfert de données et le rendu de la page, ni se soucient; Les utilisateurs se soucient de "c'est fait". Cependant, vous êtes correct, les sélecteurs efficaces ne font pas nécessairement télécharger la page plus rapidement. Vous pouvez également faire un argument pour plus d'articles sur la liste.
Je pense que ce site Web doit être optimisé pour la meilleure performance quelle que soit la vitesse de la connexion de l'utilisateur. p>
Performance du site Web / vitesse affecte l'expérience utilisateur qui affecte l'objectif / la conversion du site Web global, ce qui crée des sites Web réactifs rapides et une accélération des objectifs existants devraient être l'un des objectifs principaux de chaque développeur Web / ingénieur avant d'extrémité, etc. / p>
Quoi qu'il en soit, il s'agit de deux grandes ressources pour commencer et vient de deux géants: http://developer.yahoo.com/performance/roules.html http://code.google.com/speed/ p>
meilleur p>
Avez-vous activé la mise en cache côté client pour des ressources statiques telles que des images et des styles de site? Ils ne vous aideront pas avec la première page de la première page, mais accéléreraient beaucoup les choses en solutions vues.
Favicon ne peut pas être désactivée, mais la demande elle-même peut être éliminée dans les navigateurs modernes en utilisant une donnée: URL. Par exemple, cela entraînerait une page de Slashdot de Slashdot sans envoyer de requête: P>
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAB4eE0AX18OAP///wBeXisAYWETANPTxACrq4cAgYEaAEhJEgBKSiYAkJF3AL29pgBiYjAAVFQQADQ0CgBCQg4AWe7u7u7u7pWe7u7u7u7u6e7u7u7u7u7u7/ZVr/+rz/7v+iIp8CJf/v//UibwIl////8CIj+mz//4iIUiuIiIj/iIjCIgiIiPjd3dsiXd3diN3d1CIq3d2I3d3dYiLd3Y0RERFGZsERHUERERERERRDd3d3d3d3dzXERERERERMUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" type="image/x-icon" />
Bon point, notre système est déjà activé sur notre environnement de production. Cependant, d'autres personnes auraient pu négliger cela.