Question

J'utilise des formulaires Web et Asp.Net avec MS SQL.

Pour mon site Web j'ai besoin de stocker ces codes Belove, peut-être d'autres à l'avenir:

  • Google Code analytique
  • Certains codes JavaScript
  • HTML Pied de page et en-tête pour mon modèle.

Je besoin d'une solution qui pourrait être centralisée, l'utilisation CACHE, facile à mettre à jour:

Voici mes idées, je voudrais votre avis:

  • 01 Utiliser une base de données avec un tableau (tableau de configuration) qui, pour tous les enregistrements (VARCHAR) permettant le stockage de ces spinets de code sous forme de chaîne.
  • 02 Utilisez simplement des fichiers texte dans un dossier spécifique, je ne peux donc inclure ces fichiers dans mon code. Je pourrais mettre à jour les codes en utilisant FTP et NotePad (Ici, je suis préoccupé par le cache).
  • 03 Utiliser le fichier Web.Conf.
  • 04 Utiliser un fichier texte et une classe Wich gérerait le stockage dans le cache du contenu de ces fichiers.

Toutes les idées? Merci pour votre temps.

Ici, je voudrais mettre en évidence et l'article utile pour ce sujet:

http://nathanaeljones.com/153/performance-killer-disk-io /

Était-ce utile?

La solution

Tout d'abord, en ce qui concerne le lien référencé au blog Nathanael Jones, bien que le disque IO est beaucoup plus lent que dans les opérations de mémoire la plupart des sites ne sont pas le disque lié IO, et la plupart de ses solutions sont tout à fait franchement la merde sans éducation.

D'une manière générale, il y a seulement des situations très rares où vous devenez DISK io lié. Le premier est le serveur de base de données elle-même. Si elle ne dispose pas de suffisamment de RAM pour garder les parties pertinentes de la base de données en mémoire, la vitesse du disque de ce serveur est crucial; en particulier dans une situation de transaction élevé.

En second lieu, vous pouvez être le disque IO lié si votre application lit directement et écrit un grand nombre de fichiers. Très très peu d'applications font. Je ne compte pas les fichiers or.html .aspx de votre application, car celles-ci peuvent être mises en cache par le cadre existant et IIS.

En fait, ignorer lui.

Le système de fichiers tout à l'idée de base de données de synchronisation en tant que méthode pour améliorer la performance est sans valeur à environ 99,999% des sites. Si rien d'autre la base de données devrait pousser les fichiers sur le système de fichiers du serveur Web, et non l'inverse. Je l'ai vu exactement 1 site en 20 ans de développement qui ont exigé cela. Ils servent plusieurs millions de pages vues par jour. De plus, il est totalement faux de faire un appel de base de données à travers un réseau étant plus rapide que le chargement d'une quantité équivalente de données à partir d'un fichier local.

Ensuite, la superficie réelle que nous sommes vraiment liés à l'envoi de données est à travers le réseau au navigateur client. Ceci est toujours plus lent que la lecture d'un fichier à partir d'un disque; même sans trafic sur la ligne. Les disques durs se déplacent des données beaucoup plus rapidement que votre boîte de carte réseau. Prenant un peu plus loin; Les disques durs modernes sont des ordres de grandeur plus rapide que votre connexion Internet. La meilleure chose que vous pouvez faire pour améliorer les performances est juste de limiter le nombre de demandes de connexion d'une seule charge page nécessite. Optimisation ici signifie avoir 1 fichier css, et non 20; ayant seulement des références de fichier .js un couple, pas 100; et la combinaison de graphiques dans sprites lorsque cela est possible. Il est plus rapide de transférer 1 grand fichier de 100 petits fichiers en raison de la façon dont fonctionne TCP.

Peut-être sur un serveur partagé surchargé vous peut ont un problème. Cependant, la réalité est qu'un serveur partagé surchargé va être encombré réseau bien avant sa longueur de la file d'attente de disque se développe hors de contrôle.


Avec cela de la manière, regardons votre problème réel.

Les éléments javascript ont deux sites préférés: 1. Les fichiers .js que sur le serveur Web ou 2. intégré dans votre page maître. Il suffit de faire l'option 1, ils seront mis en cache par le serveur Web. De plus, ils seront mises en cache par le navigateur client qui signifie que vous ne aurez pas à

Pour votre tête et pied de page, le code pour cela devrait être dans votre page maître. Ne pas faire comprend côté serveur, ce qui complique les choses simplement. Construire un site web .net normal met à profit les pages maîtres pour votre contenu « chrome ». Vous pouvez activer la mise en cache de la page partielle au niveau de l'application qui se chargera de la mise en cache tous pour vous.

Lorsque vous mettez à jour le contenu d'en-tête ou le pied de page, redéployer tout le site.

Autres conseils

Stockez vos en-têtes et pieds de page dans les fichiers et l'utilisation côté serveur comprend . Certains serveurs Web (IIS 6.0) peuvent vous permettre d'ajouter le document bas de page à toutes les pages.

hébergerons vos Javascript dans les fichiers et utilisez le dans vos pages. Cela permettra la mise en cache et d'améliorer les performances de la page.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top