|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 6 ![]() |
Bnojour à toutes et tous.
Je programme principalement php/mysql. Le "problème" de php est que si l'on veut permettre à 2 utilisateurs connectés d'interagir car il faut nécessairement passer par la base de données ou fichiers texte, etc. bref par une utilisation du disque dur et non pas de la ram. Ce qui fait que dans le cas d'un simple chat il faut donc "logger" et "rafraichir"... J'aimerais savoir si Perl permet d'utiliser une "partie commune" de la Ram. Exemple : je crée un tableau et tout utilisateurs identifié peut y "accéder" et mettre à jour ses propres champs. En gros avoir le fonctionnement d'une base de donnée mais en ram afin que tout a chacun puisse consulter les données des autres en "live" afin avoir un temps de traitement hyper rapide. J'espère avoir été assez clair. |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : janvier 2006 Messages : 42 ![]() |
Salut,
Faut que tu sois plus explicite au niveau de ta question... Si tu comptes utiliser perl en mode CGI, ça n'est pas possible. Ton serveur web te retourne les données générées par ton script une fois qu'il est terminé, et donc basta la portion de mémoire partagée. Faut creuser côté serveur web, s'il peut te donner accès à une portion de mémoire partagée qu'il gère lui même (qui persisterait d'une consultation de page à une autre). Je ne suis pas expert de ce côté, mais à ma connaissance ça n'existe pas (reprenez moi si je me trompe). Maintenant tu peux te faire un démon perl qui gère tes discussions avec un client php/perl qui consulte sur la même machine (par socket, fichier ou autre). Finalement ça revient à faire de la BD light sans BD... Ou alors tu quittes complètement le mode de fonctionnement par navigateur web et tu développes ton propre couple client/serveur... Personnellement, je partirais sur la solution: client PHP/BD. En termes de temps de traitement c'est pas si lourd que ça. Le plus long sera certainement du côté du transfert des données entre le navigateur et le serveur web... Après le temps de saisie de la phrase à envoyer par l'utilisateur Maintenant, y'a certainement moyen de mettre à jour dynamiquement ta page (avec Ajax) mais comme je ne suis pas expert là dessus non plus (en fait je ne suis expert en rien Bref, tu n'as qu'à choisir... et bon courage ! PluX59 |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 6 ![]() |
merci pour ta réponse mais
le hic c'est que je veux etre capable de gérer les actions de plus de 1000 personnes en temps réel !!! donc avec une base de données c'est impossible quasiment d'où la solution ram... je veux faire la meme chose qu'une bdd mais en ram donc avoir un equivalement de sql en mémoire vive ... avec de temps a autre des sauvegardes par portions en bdd sql afin de garder des traces des dernieres actions des utilisateurs. je crois que je vais m'orienter vers une solution c++ |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : janvier 2006 Messages : 42 ![]() |
Re,
Juste une question simple... A ton avis, comment est implémenté le forum sur lequel nous sommes en train de discuter ? Il n'y a peut-être pas 1000 personnes en temps réel dessus (encore que...), mais comment ça se passe pour les gros sites qui reposent sur des solutions Apache/PHP/BD ? ![]() Va poser ta question sur le forum approprié (PHP/BD), mais je pense que tu sous-estimes la puissance d'une base de données bien organisée (ie: avec un bon shéma de tables)... A mon avis tu écrouleras le réseau ou ton serveur (apache, iis ou maison) avant d'écrouler ta BD... Tiens nous au courant de tes investigations... PluX59 |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 6 ![]() |
5000 personnes ... 1 requete toutes les 2 secondes en moyenne
soit ... 2500 requetes secondes... je vais bencher sql pour voir si ca tient |
|
|
00
|
|
|
#6 | |
![]() ![]() Étudiant Inscription : février 2006 Messages : 1 076 ![]() |
Citation:
Et tu comptes tenir combien de temps avec 2 Go de RAM à ce rythme là ? Pour info, sur dvp : "Le record de connectés est de 2 800" (marqué en bas de la page d'accueil du forum). Bon, je te l'accord, il n'y a pas une requête toute les deux secondes, mais ça tient... Ta RAM elle n'a pas été conçue pour ça.
__________________
"En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock) Application : ainsi qu'à regarder la avant de poser une question.La rubrique Perl recrute, contactez-moi. |
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : janvier 2006 Messages : 42 ![]() |
Un peu hors cadre: compter que sur une population de personnes la moitié bosse à un instant t, tous les chefs d'entreprise en rêvent
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 6 ![]() |
c pas pour bosser
2 gi de ram ? qui parle de 2 gi... c'est pour les notepads ca |
|
|
00
|
|
|
#9 | ||
|
Membre actif
![]() Inscription : avril 2005 Messages : 331 ![]() |
Citation:
Citation:
Si IIS fonctionne avec un système de pool d'application en asp.net tu peut partager des variables entre plusieur session grace a cela Si tu veut faire du php no problemo phalanger est ton amie il s'agit d'une implementation .Net de php ( encore en beta ) http://www.codeplex.com/Phalanger Sinon pour php pure faudrait dev une extension juste pour sa
__________________
Everybody have in their the potential to be their own god : Marilyn Manson |
||
|
|
00
|
|
|
#10 | |
|
Membre actif
![]() Inscription : avril 2005 Messages : 331 ![]() |
Citation:
[client] <-> [serveur web] <-> [gestionnaire de dépot] --- Gestionnaire de dépot --- soluce : perl module storable poe quand le client envoie des données a partager au serveur web celui-ci via un script biensur envoie les données vers le dépot via une socket sous forme de table de hashage celui-ci stocke tout sa bien gentillement en ram sous forme séralisé ou non comme tu veut. Puis si tu redemande les données sa fait l'inverse donnée a garder : $va = { 'clef' => la clef de stockage 'données' => les données 'ser' => 1 ou 0 (1 sa sérialise ) }; vala enfin je sais pas si c'est clair mais sa marcherai sans problème comme système après faudrais tester les perf
__________________
Everybody have in their the potential to be their own god : Marilyn Manson |
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 6 ![]() |
merci mobscene
perso je suis pas trop .NET et microsoft en general j'ai trouvé un truc : http://www.your-socket.com/ mais apparement faut payer |
|
|
00
|
|
|
#12 | ||
|
Membre actif
![]() Inscription : avril 2005 Messages : 331 ![]() |
Citation:
tu bosse sur quoi comme application parce que Citation:
__________________
Everybody have in their the potential to be their own god : Marilyn Manson |
||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 6 ![]() |
mobsene je te contacte par mp
|
|
|
00
|
|
|
#14 |
|
Membre actif
![]() Inscription : avril 2005 Messages : 331 ![]() |
Que compte tu faire avec autant de puissance ?
__________________
Everybody have in their the potential to be their own god : Marilyn Manson |
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : janvier 2006 Messages : 42 ![]() |
Cartainement un notepad géant...
oups, désolé, c'est parti tout seul |
|
|
00
|
|
|
#16 |
|
Expert Confirmé Sénior
![]() ![]() |
Vous semblez oublier mod_perl. mod_perl permet tout à fait d'avoir des variables globales à tous les scripts exécutés par un même thread de Apache, après faut voir de plus près si ça peut te convenir.
-- Jedaï |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com