Base de donnees et asp.net pour site contenant des clips video

cs_danyclassique Messages postés 94 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 7 novembre 2010 - 2 oct. 2008 à 13:27
cs_danyclassique Messages postés 94 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 7 novembre 2010 - 7 oct. 2008 à 16:37
Bonjour a tous .
J ai pratiquement termine mon nouveau site MEDIATECH.
Je suis en train d effectuer toutes sortes de tests possible.
J ai rencontre une erreur aleatoire 'System.OutOfMemoryException' qui se leve lorsque ma table est chargee en memoire.
Je m explique :Dans une rubrique de mon site je donne la possibilite aux internautes d inserer leurs clips video
de leur derniere representation musical.
J ai limite en deux endroits differents la taille des clips a inserer.
1-dans le web config dans le httpruntime categorie maxRequestLength .
2-en c# avant l inseretion dans la base avec une verif sur la taille du fichie.
Jusqu a la tout fonctionne a bien
Quand plusieurs utilisateurs rentrent plusieurs clips ,donc limites a 100 Mo chacun,et que la base de donnee commence a devenir assez pleine et puis qu en suite on click sur la rubrique regarder les clips ,une fois sur trois a peut pres j obtiens cette erreur de memoire.
Je crois comprendre que le probleme vient de la memoire virtuel limite a 2 Go dans windows qui ,aussi, peut etre augmentee.
Mais  apres d autres recherches je me suis apercu que cela pouvait venir du fait que ma base soit trop pleine.
Je precise que lorsque je recois ces erreurs de memoire ma base contient a peut pres 600Mo.
Alors la question que je vous posent est la suivante:
Au lieu de changer la strategie de mon site en reduisant jusqu a 30Mo les clips ,ce qui fait que ce ne sera plus de longs clips,et qui de toute facon des que la base ateindra les 600Mo ,ca reviendra au meme,
je  vous demande si quelqu un sait si il y a un moyen de contourner le probleme.
Derniere chose quand je fais les tests je suis en local et peut etre que cela est du au fait que je ne suis pas sur un serveur externe plus puissant et plus rapide.

Voila ,je vous remercie d avance pour votre patience et pour votre aide.
Cordialement.

Dany.

Merci aussi pour toutes l aide que chacun apporte aux autres.

4 réponses

PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 5
3 oct. 2008 à 17:43
Juste une question. Dans ta base de données que gères-tu au niveau des clips est-ce le lien pour aller lire les clips, c'est-à-dire un type varchar(n), ou le clip lui-même c'est-à-dire un type BLOB (Binaty Logical OBJect) ?

Dans le cas d'un BLOB, si chaque utuilisateur de ton site se connecte et tente de lire un vidéo, tu vas surcharger la connexion d'une part, d'autre part tu gères des objets volumineux, ce qui entraine des temps de réaction sur tes requètes non négligeable.

PascalCmoa
[mailto:pascal.aknouche@free.fr email: PascalCmoa]
0
cs_danyclassique Messages postés 94 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 7 novembre 2010
4 oct. 2008 à 18:10
Merci pour pendre part a mon probleme.
Oui effectivement cela prend enormement de ressourses.
 J utilise un champ varbinary.
Cela dit je pense que tu a raison ,a moin qu il est une solution intermediaire,je crois que
je vais changer la facon d enregistrer les clips.
Je vais tout dabord, comme tu le dis, passer par des liens qui eux meme iront chercher les videos 
dans un repertoire .
Car , apres reflections faite si je continue comme ca ,apres que 3 ou 4 voir meme 2 utilisateurs se seront 
connectes en meme temps mon site fonctionnera vraiement tres lentement et sera sujet a beaucoup d erreurs comme tu la bien precise.
Dans tous les cas merci pour ton aide.
 
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
6 oct. 2008 à 13:24
Salut,

Pour faire du stream avec une base de données, il est préférable d'utiliser sql server 2008 et le nouveau système FILESTREAM.

De plus pour gagner en performance, si tu ne peux pas avoir de SQL2008.
Il est je pense préférable de gérer le stokage sur le disque dur à la place de la base.

Sinon une technique est de faire un lien 1-1 entre la ligne de présentation de la vidéo et la ressource vidéo.
Dans les requêtees c'est moins pénalisant pour le SGBD car il y a moins de données à traiter car le champ vidéo,
n'appartient pas à la table.

Bon courage.
0
cs_danyclassique Messages postés 94 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 7 novembre 2010
7 oct. 2008 à 16:37
Salut a toi .
Merci pour tes conseils .
J ai deja change la structure de la gestion des donnees video et images .
Cependant je commence deja a penser a mon futur hebergeur et si tu avais ou si quelqu un avait une
idee sur un bon hebergeur asp.net qui gere aussi les bases de donnees sql 2005 pas trop cher avec un service d aide assez conviviable je suis preneur de toutes eventualites,et conseils .
Dans tous les cas merci a vous tous.

Dany
0
Rejoignez-nous