Pour afficher cette traduction, il me suffit d'appeler cette variable
par : Response.Write Application("TRAD_" & maLangue & "_" & monNumero)
Après divers essais (traductions en base de données, en session), c'est
ce qu'il y a avait de plus performant.
Mais à l'époque, j'avais 400 traductions en 2 langues, soit 800 variables.
Aujourd'hui, j'ai 850 traductions en 6 langues, soit 5100 variables
chargées.
Est-ce-que cela peut nuire aux performances de mon site, sachant que je
ne suis pas limité par la RAM du serveur (dédié, avec 1Go, dont 400
utilisés) ?
Y'a-t-il un meilleur moyen pour gérer les traductions ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Martin CLAVREUIL
Bonjour,
1/ Le choix de charger l'objet 'application' se fait toujours au déficit de la RAM mais tu dis ne pas en manquer. 2/ L'objet application serialize son contenu mais si tu ne ranges que des chaines le marchaling est peu consommateur. J'aurai donc tendance à te conseiller de rester sur cette option tant que tu n'est pas en .net. Si tu migres en asp.net, je te conseille, dans ce cas, utiliser des ressources (resx) qui sont des classes statiques, elle aussi permanentes en mémoire. -- Martin CLAVREUIL www.miagazine.com
"Fred" a écrit dans le message de news: 43a81e68$0$21284$
Bonjour,
J'ai un site en 6 langues pour lequel je gère les traductions sous forme de variable application.
Pour afficher cette traduction, il me suffit d'appeler cette variable par : Response.Write Application("TRAD_" & maLangue & "_" & monNumero)
Après divers essais (traductions en base de données, en session), c'est ce qu'il y a avait de plus performant.
Mais à l'époque, j'avais 400 traductions en 2 langues, soit 800 variables.
Aujourd'hui, j'ai 850 traductions en 6 langues, soit 5100 variables chargées.
Est-ce-que cela peut nuire aux performances de mon site, sachant que je ne suis pas limité par la RAM du serveur (dédié, avec 1Go, dont 400 utilisés) ?
Y'a-t-il un meilleur moyen pour gérer les traductions ?
Merci pour vos conseils,
@+
Fred
Bonjour,
1/ Le choix de charger l'objet 'application' se fait toujours au déficit de
la RAM mais tu dis ne pas en manquer.
2/ L'objet application serialize son contenu mais si tu ne ranges que des
chaines le marchaling est peu consommateur.
J'aurai donc tendance à te conseiller de rester sur cette option tant que tu
n'est pas en .net. Si tu migres en asp.net, je te conseille, dans ce cas,
utiliser des ressources (resx) qui sont des classes statiques, elle aussi
permanentes en mémoire.
--
Martin CLAVREUIL
www.miagazine.com
"Fred" <fred31@plansdereseaux.com> a écrit dans le message de news:
43a81e68$0$21284$8fcfb975@news.wanadoo.fr...
Bonjour,
J'ai un site en 6 langues pour lequel je gère les traductions sous forme
de variable application.
Pour afficher cette traduction, il me suffit d'appeler cette variable par
: Response.Write Application("TRAD_" & maLangue & "_" & monNumero)
Après divers essais (traductions en base de données, en session), c'est ce
qu'il y a avait de plus performant.
Mais à l'époque, j'avais 400 traductions en 2 langues, soit 800 variables.
Aujourd'hui, j'ai 850 traductions en 6 langues, soit 5100 variables
chargées.
Est-ce-que cela peut nuire aux performances de mon site, sachant que je ne
suis pas limité par la RAM du serveur (dédié, avec 1Go, dont 400 utilisés)
?
Y'a-t-il un meilleur moyen pour gérer les traductions ?
1/ Le choix de charger l'objet 'application' se fait toujours au déficit de la RAM mais tu dis ne pas en manquer. 2/ L'objet application serialize son contenu mais si tu ne ranges que des chaines le marchaling est peu consommateur. J'aurai donc tendance à te conseiller de rester sur cette option tant que tu n'est pas en .net. Si tu migres en asp.net, je te conseille, dans ce cas, utiliser des ressources (resx) qui sont des classes statiques, elle aussi permanentes en mémoire. -- Martin CLAVREUIL www.miagazine.com
"Fred" a écrit dans le message de news: 43a81e68$0$21284$
Bonjour,
J'ai un site en 6 langues pour lequel je gère les traductions sous forme de variable application.
Pour afficher cette traduction, il me suffit d'appeler cette variable par : Response.Write Application("TRAD_" & maLangue & "_" & monNumero)
Après divers essais (traductions en base de données, en session), c'est ce qu'il y a avait de plus performant.
Mais à l'époque, j'avais 400 traductions en 2 langues, soit 800 variables.
Aujourd'hui, j'ai 850 traductions en 6 langues, soit 5100 variables chargées.
Est-ce-que cela peut nuire aux performances de mon site, sachant que je ne suis pas limité par la RAM du serveur (dédié, avec 1Go, dont 400 utilisés) ?
Y'a-t-il un meilleur moyen pour gérer les traductions ?
Merci pour vos conseils,
@+
Fred
jbongran
Martin CLAVREUIL wrote:
Bonjour,
1/ Le choix de charger l'objet 'application' se fait toujours au déficit de la RAM mais tu dis ne pas en manquer. 2/ L'objet application serialize son contenu mais si tu ne ranges que des chaines le marchaling est peu consommateur. J'aurai donc tendance à te conseiller de rester sur cette option tant que tu n'est pas en .net. Si tu migres en asp.net, je te conseille, dans ce cas, utiliser des ressources (resx) qui sont des classes statiques, elle aussi permanentes en mémoire.
"Fred" a écrit dans le message de news: 43a81e68$0$21284$
Bonjour,
J'ai un site en 6 langues pour lequel je gère les traductions sous forme de variable application.
Après divers essais (traductions en base de données, en session), c'est ce qu'il y a avait de plus performant.
Mais à l'époque, j'avais 400 traductions en 2 langues, soit 800 variables. Aujourd'hui, j'ai 850 traductions en 6 langues, soit 5100 variables chargées.
Est-ce-que cela peut nuire aux performances de mon site, sachant que je ne suis pas limité par la RAM du serveur (dédié, avec 1Go, dont 400 utilisés) ?
Y'a-t-il un meilleur moyen pour gérer les traductions ?
Merci pour vos conseils,
@+
Fred
Tout a fait d'accord. On pourrait aussi imaginer d'inclure les fichiers de traduction (à la volée), ou encore de generer automatiquement plusieurs sites statiques (ou pas) dans chaques langues, mais là c'est un gros "chantier"
Martin CLAVREUIL wrote:
Bonjour,
1/ Le choix de charger l'objet 'application' se fait toujours au
déficit de la RAM mais tu dis ne pas en manquer.
2/ L'objet application serialize son contenu mais si tu ne ranges que
des chaines le marchaling est peu consommateur.
J'aurai donc tendance à te conseiller de rester sur cette option tant
que tu n'est pas en .net. Si tu migres en asp.net, je te conseille,
dans ce cas, utiliser des ressources (resx) qui sont des classes
statiques, elle aussi permanentes en mémoire.
"Fred" <fred31@plansdereseaux.com> a écrit dans le message de news:
43a81e68$0$21284$8fcfb975@news.wanadoo.fr...
Bonjour,
J'ai un site en 6 langues pour lequel je gère les traductions sous
forme de variable application.
Après divers essais (traductions en base de données, en session),
c'est ce qu'il y a avait de plus performant.
Mais à l'époque, j'avais 400 traductions en 2 langues, soit 800
variables. Aujourd'hui, j'ai 850 traductions en 6 langues, soit 5100
variables
chargées.
Est-ce-que cela peut nuire aux performances de mon site, sachant que
je ne suis pas limité par la RAM du serveur (dédié, avec 1Go, dont
400 utilisés) ?
Y'a-t-il un meilleur moyen pour gérer les traductions ?
Merci pour vos conseils,
@+
Fred
Tout a fait d'accord.
On pourrait aussi imaginer d'inclure les fichiers de traduction (à la
volée), ou encore de generer automatiquement plusieurs sites statiques (ou
pas) dans chaques langues, mais là c'est un gros "chantier"
1/ Le choix de charger l'objet 'application' se fait toujours au déficit de la RAM mais tu dis ne pas en manquer. 2/ L'objet application serialize son contenu mais si tu ne ranges que des chaines le marchaling est peu consommateur. J'aurai donc tendance à te conseiller de rester sur cette option tant que tu n'est pas en .net. Si tu migres en asp.net, je te conseille, dans ce cas, utiliser des ressources (resx) qui sont des classes statiques, elle aussi permanentes en mémoire.
"Fred" a écrit dans le message de news: 43a81e68$0$21284$
Bonjour,
J'ai un site en 6 langues pour lequel je gère les traductions sous forme de variable application.
Après divers essais (traductions en base de données, en session), c'est ce qu'il y a avait de plus performant.
Mais à l'époque, j'avais 400 traductions en 2 langues, soit 800 variables. Aujourd'hui, j'ai 850 traductions en 6 langues, soit 5100 variables chargées.
Est-ce-que cela peut nuire aux performances de mon site, sachant que je ne suis pas limité par la RAM du serveur (dédié, avec 1Go, dont 400 utilisés) ?
Y'a-t-il un meilleur moyen pour gérer les traductions ?
Merci pour vos conseils,
@+
Fred
Tout a fait d'accord. On pourrait aussi imaginer d'inclure les fichiers de traduction (à la volée), ou encore de generer automatiquement plusieurs sites statiques (ou pas) dans chaques langues, mais là c'est un gros "chantier"
Fred
jbongran a écrit :
Martin CLAVREUIL wrote:
Bonjour,
1/ Le choix de charger l'objet 'application' se fait toujours au déficit de la RAM mais tu dis ne pas en manquer. 2/ L'objet application serialize son contenu mais si tu ne ranges que des chaines le marchaling est peu consommateur.
Tout a fait d'accord. On pourrait aussi imaginer d'inclure les fichiers de traduction (à la volée), ou encore de generer automatiquement plusieurs sites statiques (ou pas) dans chaques langues, mais là c'est un gros "chantier"
Merci pour vos réponses. Elles confirment mes tests. Qu'entends-tu exactement par "inclure les fichiers de traduction à la volée" ?
Tu penses faire comme en php ou on charge un include contenant des variables ou un tableau avec les traductions adéquates à chaque page ?
@+
Fred
jbongran a écrit :
Martin CLAVREUIL wrote:
Bonjour,
1/ Le choix de charger l'objet 'application' se fait toujours au
déficit de la RAM mais tu dis ne pas en manquer.
2/ L'objet application serialize son contenu mais si tu ne ranges que
des chaines le marchaling est peu consommateur.
Tout a fait d'accord.
On pourrait aussi imaginer d'inclure les fichiers de traduction (à la
volée), ou encore de generer automatiquement plusieurs sites statiques (ou
pas) dans chaques langues, mais là c'est un gros "chantier"
Merci pour vos réponses. Elles confirment mes tests.
Qu'entends-tu exactement par "inclure les fichiers de traduction à la
volée" ?
Tu penses faire comme en php ou on charge un include contenant des
variables ou un tableau avec les traductions adéquates à chaque page ?
1/ Le choix de charger l'objet 'application' se fait toujours au déficit de la RAM mais tu dis ne pas en manquer. 2/ L'objet application serialize son contenu mais si tu ne ranges que des chaines le marchaling est peu consommateur.
Tout a fait d'accord. On pourrait aussi imaginer d'inclure les fichiers de traduction (à la volée), ou encore de generer automatiquement plusieurs sites statiques (ou pas) dans chaques langues, mais là c'est un gros "chantier"
Merci pour vos réponses. Elles confirment mes tests. Qu'entends-tu exactement par "inclure les fichiers de traduction à la volée" ?
Tu penses faire comme en php ou on charge un include contenant des variables ou un tableau avec les traductions adéquates à chaque page ?
@+
Fred
jbongran
Fred wrote:
jbongran a écrit :
Martin CLAVREUIL wrote:
Bonjour,
1/ Le choix de charger l'objet 'application' se fait toujours au déficit de la RAM mais tu dis ne pas en manquer. 2/ L'objet application serialize son contenu mais si tu ne ranges que des chaines le marchaling est peu consommateur.
Tout a fait d'accord. On pourrait aussi imaginer d'inclure les fichiers de traduction (à la volée), ou encore de generer automatiquement plusieurs sites statiques (ou pas) dans chaques langues, mais là c'est un gros "chantier"
Merci pour vos réponses. Elles confirment mes tests. Qu'entends-tu exactement par "inclure les fichiers de traduction à la volée" ?
Tu penses faire comme en php ou on charge un include contenant des variables ou un tableau avec les traductions adéquates à chaque page ?
@+
Fred
Exactement, Au passage, la directive include (file ou virtual) n'est pas propre à php, mais fait plutôt parti d'un support de directives par les serveurs web http://www.microsoft.com/windows2000/en/server/iis/default.asp?url=/windows2000/en/server/iis/htm/asp/iiwainc.htm
Fred wrote:
jbongran a écrit :
Martin CLAVREUIL wrote:
Bonjour,
1/ Le choix de charger l'objet 'application' se fait toujours au
déficit de la RAM mais tu dis ne pas en manquer.
2/ L'objet application serialize son contenu mais si tu ne ranges
que des chaines le marchaling est peu consommateur.
Tout a fait d'accord.
On pourrait aussi imaginer d'inclure les fichiers de traduction (à la
volée), ou encore de generer automatiquement plusieurs sites
statiques (ou pas) dans chaques langues, mais là c'est un gros
"chantier"
Merci pour vos réponses. Elles confirment mes tests.
Qu'entends-tu exactement par "inclure les fichiers de traduction à la
volée" ?
Tu penses faire comme en php ou on charge un include contenant des
variables ou un tableau avec les traductions adéquates à chaque page ?
@+
Fred
Exactement,
Au passage, la directive include (file ou virtual) n'est pas propre à php,
mais fait plutôt parti d'un support de directives par les serveurs web
http://www.microsoft.com/windows2000/en/server/iis/default.asp?url=/windows2000/en/server/iis/htm/asp/iiwainc.htm
1/ Le choix de charger l'objet 'application' se fait toujours au déficit de la RAM mais tu dis ne pas en manquer. 2/ L'objet application serialize son contenu mais si tu ne ranges que des chaines le marchaling est peu consommateur.
Tout a fait d'accord. On pourrait aussi imaginer d'inclure les fichiers de traduction (à la volée), ou encore de generer automatiquement plusieurs sites statiques (ou pas) dans chaques langues, mais là c'est un gros "chantier"
Merci pour vos réponses. Elles confirment mes tests. Qu'entends-tu exactement par "inclure les fichiers de traduction à la volée" ?
Tu penses faire comme en php ou on charge un include contenant des variables ou un tableau avec les traductions adéquates à chaque page ?
@+
Fred
Exactement, Au passage, la directive include (file ou virtual) n'est pas propre à php, mais fait plutôt parti d'un support de directives par les serveurs web http://www.microsoft.com/windows2000/en/server/iis/default.asp?url=/windows2000/en/server/iis/htm/asp/iiwainc.htm
Fred
jbongran a écrit :
Qu'entends-tu exactement par "inclure les fichiers de traduction à la volée" ?
Exactement,
Le fait de charger un tableau de 850 éléments à chaque page ne risque-t-il pas de faire baisser les performances (le site fait plus de 9 millions de pages vues/mois) ?
Fred
jbongran a écrit :
Qu'entends-tu exactement par "inclure les fichiers de traduction à la
volée" ?
Exactement,
Le fait de charger un tableau de 850 éléments à chaque page ne
risque-t-il pas de faire baisser les performances (le site fait plus de
9 millions de pages vues/mois) ?
Qu'entends-tu exactement par "inclure les fichiers de traduction à la volée" ?
Exactement,
Le fait de charger un tableau de 850 éléments à chaque page ne risque-t-il pas de faire baisser les performances (le site fait plus de 9 millions de pages vues/mois) ?
Fred
jbongran
Fred wrote:
jbongran a écrit :
Qu'entends-tu exactement par "inclure les fichiers de traduction à la volée" ?
Exactement,
Le fait de charger un tableau de 850 éléments à chaque page ne risque-t-il pas de faire baisser les performances (le site fait plus de 9 millions de pages vues/mois) ?
Fred
Si, pour une volumètrie de cette ordre, l'option include est a oublier. Autre solution: Une bdd contenant les 850 éléments. Un site par langue et un global.asa qui charge les variables application à partir de la bdd (avec une requête ne retournant que la langue du site) peut être un bon compromis, notamment pour la maintenance des éléments. Voir a ce sujet la syntaxe getstring ou getRows de l'objet ADO (beaucoup plus efficace qu'une boucle) ou carrement l'usage de procédure stockée sur la BDD. Le fait est que si cela fonctionne bien comme ça, ne change rien.
Fred wrote:
jbongran a écrit :
Qu'entends-tu exactement par "inclure les fichiers de traduction à
la volée" ?
Exactement,
Le fait de charger un tableau de 850 éléments à chaque page ne
risque-t-il pas de faire baisser les performances (le site fait plus
de 9 millions de pages vues/mois) ?
Fred
Si, pour une volumètrie de cette ordre, l'option include est a oublier.
Autre solution:
Une bdd contenant les 850 éléments. Un site par langue et un global.asa qui
charge les variables application à partir de la bdd (avec une requête ne
retournant que la langue du site) peut être un bon compromis, notamment pour
la maintenance des éléments.
Voir a ce sujet la syntaxe getstring ou getRows de l'objet ADO (beaucoup
plus efficace qu'une boucle) ou carrement l'usage de procédure stockée sur
la BDD.
Le fait est que si cela fonctionne bien comme ça, ne change rien.
Qu'entends-tu exactement par "inclure les fichiers de traduction à la volée" ?
Exactement,
Le fait de charger un tableau de 850 éléments à chaque page ne risque-t-il pas de faire baisser les performances (le site fait plus de 9 millions de pages vues/mois) ?
Fred
Si, pour une volumètrie de cette ordre, l'option include est a oublier. Autre solution: Une bdd contenant les 850 éléments. Un site par langue et un global.asa qui charge les variables application à partir de la bdd (avec une requête ne retournant que la langue du site) peut être un bon compromis, notamment pour la maintenance des éléments. Voir a ce sujet la syntaxe getstring ou getRows de l'objet ADO (beaucoup plus efficace qu'une boucle) ou carrement l'usage de procédure stockée sur la BDD. Le fait est que si cela fonctionne bien comme ça, ne change rien.
Fred
jbongran a écrit :
Le fait de charger un tableau de 850 éléments à chaque page ne risque-t-il pas de faire baisser les performances (le site fait plus de 9 millions de pages vues/mois) ?
Fred
Si, pour une volumètrie de cette ordre, l'option include est a oublier. Autre solution: Une bdd contenant les 850 éléments. Un site par langue et un global.asa qui charge les variables application à partir de la bdd (avec une requête ne retournant que la langue du site) peut être un bon compromis, notamment pour la maintenance des éléments.
En fait, initialement, j'utilisais la base de données (MySQL), mais le nombre de requête était vraiment trop élevé.
Du coup, je gère mes traductions dans la base de données et dès que je fais des modifs, je régénère un fichier de variables application.
C'est ce que j'ai trouvé de plus performant, mais je voulais juste savoir si on pouvait faire encore mieux ;-)
Merci à tous pour votre aide.
@+
Fred
jbongran a écrit :
Le fait de charger un tableau de 850 éléments à chaque page ne
risque-t-il pas de faire baisser les performances (le site fait plus
de 9 millions de pages vues/mois) ?
Fred
Si, pour une volumètrie de cette ordre, l'option include est a oublier.
Autre solution:
Une bdd contenant les 850 éléments. Un site par langue et un global.asa qui
charge les variables application à partir de la bdd (avec une requête ne
retournant que la langue du site) peut être un bon compromis, notamment pour
la maintenance des éléments.
En fait, initialement, j'utilisais la base de données (MySQL), mais le
nombre de requête était vraiment trop élevé.
Du coup, je gère mes traductions dans la base de données et dès que je
fais des modifs, je régénère un fichier de variables application.
C'est ce que j'ai trouvé de plus performant, mais je voulais juste
savoir si on pouvait faire encore mieux ;-)
Le fait de charger un tableau de 850 éléments à chaque page ne risque-t-il pas de faire baisser les performances (le site fait plus de 9 millions de pages vues/mois) ?
Fred
Si, pour une volumètrie de cette ordre, l'option include est a oublier. Autre solution: Une bdd contenant les 850 éléments. Un site par langue et un global.asa qui charge les variables application à partir de la bdd (avec une requête ne retournant que la langue du site) peut être un bon compromis, notamment pour la maintenance des éléments.
En fait, initialement, j'utilisais la base de données (MySQL), mais le nombre de requête était vraiment trop élevé.
Du coup, je gère mes traductions dans la base de données et dès que je fais des modifs, je régénère un fichier de variables application.
C'est ce que j'ai trouvé de plus performant, mais je voulais juste savoir si on pouvait faire encore mieux ;-)