Aujourd'hui, je parlais avec des amis du groupe MSN de l'optimisation des performances des programmes ASP.net.
Résumons maintenant les méthodes d'optimisation :
1. Optimisation de la base de données, y compris l'optimisation de la structure des tables, l'optimisation des index, l'optimisation des instructions SQL et l'optimisation des procédures stockées
2. Optimiser ViewState
3. Utiliser la mise en cache
4. Générer des pages statiques (principalement pour le front-end des systèmes de publication d'informations peu interactifs)
5. Utilisez IIS/Apache frontal pour gérer les demandes de pages statiques, d'images et de fichiers js
6. Algorithme d'optimisation
7. Tout le monde est invité à ajouter
. Concernant le réglage des performances, le conseil de presque tous les experts est le suivant : s'il n'y a pas de mesure exacte des performances, n'effectuez pas de réglage des performances. Le réglage sans test de performance de référence n'aura fondamentalement aucun autre avantage, sauf rendre le code système désordonné. L'effet que vous obtenez en travaillant dur pour améliorer un algorithme de 0,1 seconde à 0,01 seconde sera souvent perdu à cause d'une mauvaise instruction de sélection.
Par conséquent, les méthodes précédentes ne sont pas une panacée. Pour régler, vous devez d’abord comprendre où le système est lent. Ne consultez jamais un médecin à la hâte. Le contenu suivant provient de mon expérience professionnelle personnelle, tous les systèmes ne peuvent pas être appliqués, n'oubliez pas ! ! ! !
Analysons ces quatre méthodes de réglage :
Pour les applications de type OA/système de gestion d'entreprise, l'optimisation de la base de données est souvent un point clé pour plusieurs raisons :
1.CRUD sur la base de données est l'opération la plus courante dans ces systèmes.
2. Les opérations sur le système de base de données entraînent souvent des E/S sur disque (car les fichiers de base de données et les journaux sont enregistrés sur le disque)
3. Les opérations des applications sur le système de base de données sont souvent inter-processus, voire inter-machines. (E/S disque + E/S réseau, quelle que soit la vitesse du processeur ou la quantité de mémoire, cela est hors de notre portée)
Par conséquent, ces opérations sur la base de données constituent souvent le goulot d’étranglement des performances de l’ensemble du système.
Alors, connaissant cette direction générale, comment savoir quelles procédures SQL ou stockées sont lentes ? Cela nécessite de combiner le profileur de la base de données.
Pour SQL Server, vous pouvez lire cet article.
http://www.microsoft.com/china/msdn/library/data/sqlserver/Profiler.mspx?mfr=true
Pour Oracle, vous pouvez lire cet article
http://www.javaeye.com/post/117389
2. ViewState, ce Dongdong est de taille relativement grande et aura un certain impact sur les applications Internet. Concernant son optimisation, le jardin en a déjà parlé, vous pouvez donc le rechercher vous-même.
3. Mon opinion sur l'utilisation du cache ne correspond pas vraiment à celle de plusieurs amis du groupe MSN. Un ami du groupe MSN estime que le cache peut être un ensemble de variables statiques ou des variables contrôlées par un contrôleur de cache. Personnellement, je pense qu'un tel cache peut avoir de bonnes performances dans un environnement à serveur unique, dans un environnement multi-serveur, un tel cache deviendra un goulot d'étranglement en termes de performances, car l'application ou le contrôleur de cache doit garantir soigneusement le contenu du cache de plusieurs processus. . cohérent. Ce processus réduit considérablement l'évolutivité du programme. Considérez une ferme Web avec 100 serveurs. Une modification du cache en un seul processus nécessite une notification et une confirmation que les 99 serveurs restants ont été modifiés correctement.
Pour cela, memcache est une solution relativement bonne. Le célèbre produit wiki mediawiki l'utilise comme serveur de cache. Memcache dispose également d'une API client .net.
4. Je ne comprends pas très bien, veuillez donner quelques conseils d'experts
. 5. Il existe de nombreuses introductions sur Internet, notamment sur Java. Il existe de nombreuses introductions sur Apache avec Tomcat. Recherchez-le vous-même sur Google.
6. Cette optimisation est la plus compliquée, et l'effet est peut-être le moins évident. Si vous devez le faire, alors laissez les huit immortels traverser la mer et montrer leurs pouvoirs magiques.
http://www.cnblogs.com/ncindy/archive/2006/11/07/553533.html