Les tables de type Mémory sont des tables qui sont stockés en mémoire vive, elles ont donc des temps d'accés trés rapide.
Ces types de tables sont supporté par MySQL 5 (et 4 il me semble)
Comme çà serait trop beau s'il n'y avait pas de problémes à les utiliser :
- toute données de la table est perdu en cas de plantage ou redémarrage du serveur (ce qui est pas trop grave pour les sessions)
- pas de support des types "blob"
- support adodb à voir ?
Comme il y a beaucoup d'accès à la table session çà pourrait être une idée
http://dev.mysql.com/doc/refman/5.0/fr/memory-storage-engine.html
Membre du PSR Project (Pagesetter replacement)
optimisation : table de type memory pour les sessions
Aller à la page: 1 - 2 - 3 [+1]
-
- Rang : Franc-Maçon
- Inscrit le : 12.10.05
- Dernière visite : 06.12.08
- Messages : 735
-
- Rang : Grand Maître
- Inscrit le : 03.07.05
- Dernière visite : 28.12.08
- Messages : 2278
un test de comparaison pourraît être fait mais, faudrait ensuite pouvoir dire que c'est vraiment + rapide et avoir les outils pour !
Je vais tenter de voir celà !
Gilles ><>° -
- Rang : Grand Maître
- Inscrit le : 03.07.05
- Dernière visite : 28.12.08
- Messages : 2278
d'après les experts MySQL du travail, ca peut faire gagner pas mal de vitesse, mais faut aussi un certain nombre d'utilisateurs.
L'idée, c'est que si y'a la place en mémoire, il met la table en mémoire, s'il ne peut pas, il la traite de la même manière que les autres et alors, il n'y a pas d'avantage, ni même d'inconvénients.
Gilles ><>° -
- Rang : Franc-Maçon
- Inscrit le : 12.10.05
- Dernière visite : 06.12.08
- Messages : 735
et ils t'ont données des sources ou des tests de performances pour avoir un ordre d'idée des retours sur l'intégration d'une telle caractéristique dans un gros portail.
Membre du PSR Project (Pagesetter replacement) -
- Rang : Bisu
- Inscrit le : 08.10.05
- Dernière visite : 18.07.08
- Messages : 92
-
- Rang : Grand Maître
- Inscrit le : 03.07.05
- Dernière visite : 28.12.08
- Messages : 2278
Quote
et ils t'ont données des sources ou des tests de performances pour avoir un ordre d'idée des retours sur l'intégration d'une telle caractéristique dans un gros portail.
Non dans ma boîte, on utilise MySQL dans le backend pas dans le frontend. C'est une très très grosse architecture incomparable à un site postnuke.
Ils ne connaissaient que de nom, pas en utilisation.
Par contre, je viens de terminer mes tests. J'ai pris pour celà le temps d'execution SQL (variable disponible par le fichier config/config.php), hacké un poil un site pn pour qu'il m'enregistre ces données dans un fichier et lancé 100x un wget sur la page d'accueil. une fois en MYISAM et une fois en MEMORY. J'ai donc 200 sessions différentes qui ont été crées et non qui ont été updatées...
J'ai ensuite mis tout celà dans un tableau, processé le tout pour en arriver à la conclusion qu'il y a une amélioration de 2.5 milliemes... C'est pas énorme... mais sur 11 miliemes de temps de requete, ca fait déjà ca !
Des idées pour améliorer le test??
Gilles ><>° -
- Rang : Franc-Maçon
- Inscrit le : 12.10.05
- Dernière visite : 06.12.08
- Messages : 735
oui, en faites sur Apache Web Server il y a une commande fourni par défaut pour faire des test, çà s'appelle Apache Web Server Benchmark
et tu peux lancer un grand nombre de requêtes (10000 par exemple) et avoir des résultats très fiables.
je l'ai utilisé pour faire des tests pour voir les différences de performance entre un Apache Web Server mod proxy + lighttpd et un Apache Web Server tout court
Voila le type de sorti qu'il te donne
http://forum.to…nce-t4107.html
voila le man
http://httpd.apache.org/docs/2.0/programs/ab.html
il est fourni par défaut avec Apache Web Server
pour l'utiliser
syntaxe
Quote
ab -n 10000 -c 5 http://localhost/pn/index.php
-n te donne le nombre de requêtes que tu veux lancer
-c te donne le nombre de requêtes concurrentes
pense à nous poster le résultat ici^^
l'option -e fichier.csv permet d'enregistrer en un format compatible exec, utile pour faire des graphes, des fois que tu veuilles en faire une news :)
NOTES: ab existe aussi sous windows voir répertoire apache2/bin de wamp si vous l'utilisez.
modifié par : mumuri, 08 Mar 2008 - 15:48
Membre du PSR Project (Pagesetter replacement) -
- Rang : Grand Maître
- Inscrit le : 03.07.05
- Dernière visite : 28.12.08
- Messages : 2278
Alors pour MYISAM:
Quote
MIYSAM
[gpilloud@ABOUTPURE-LX] [~/Projets/test2] [15:46:40] [Linux]
>> ab -n 10000 -c 5 http://localhost/test2/index.php
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Web Server Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Finished 10000 requests
Server Software: Apache/2.2.4
Server Hostname: localhost
Server Port: 80
Document Path: /test2/index.php
Document Length: 7967 bytes
Concurrency Level: 5
Time taken for tests: 4641.275027 seconds
Complete requests: 10000
Failed requests: 9996
(Connect: 0, Length: 9996, Exceptions: 0)
Write errors: 0
Total transferred: 85227925 bytes
HTML transferred: 79657925 bytes
Requests per second: 2.15 [#/sec] (mean)
Time per request: 2320.637 [ms] (mean)
Time per request: 464.127 [ms] (mean, across all concurrent requests)
Transfer rate: 17.93 [Kbytes/sec] received
Connection Times (ms)
min mean[sd] median max
Connect: 0 0 0.0 0 0
Processing: 405 2319 3475.7 2155 103007
Waiting: 405 2317 3467.8 2154 103007
Total: 405 2319 3475.7 2155 103007
Percentage of the requests served within a certain time (ms)
50% 2155
66% 2359
75% 2484
80% 2561
90% 2786
95% 2984
98% 3247
99% 3623
100% 103007 (longest request)
Pour MEMORY
Quote
MEMORY
[gpilloud@ABOUTPURE-LX] [~/Projets/test2] [17:33:09] [Linux]
>> ab -n 10000 -c 5 http://localhost/test2/index.php
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Web Server Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Finished 10000 requests
Server Software: Apache/2.2.4
Server Hostname: localhost
Server Port: 80
Document Path: /test2/index.php
Document Length: 7967 bytes
Concurrency Level: 5
Time taken for tests: 4496.712792 seconds
Complete requests: 10000
Failed requests: 9999
(Connect: 0, Length: 9999, Exceptions: 0)
Write errors: 0
Total transferred: 85227933 bytes
HTML transferred: 79657933 bytes
Requests per second: 2.22 [#/sec] (mean)
Time per request: 2248.356 [ms] (mean)
Time per request: 449.671 [ms] (mean, across all concurrent requests)
Transfer rate: 18.51 [Kbytes/sec] received
Connection Times (ms)
min mean[sd] median max
Connect: 0 1 34.7 0 1900
Processing: 446 2246 799.1 2243 53200
Waiting: 0 2243 800.9 2242 53200
Total: 446 2247 799.2 2243 53200
Percentage of the requests served within a certain time (ms)
50% 2243
66% 2406
75% 2515
80% 2586
90% 2777
95% 2944
98% 3162
99% 3328
100% 53200 (longest request)
Au niveau de l'interprépation, ca n'est pas encore fait, mais mes premieres impressions donnes MEMORY gagnant !
Gilles ><>° -
- Rang : Franc-Maçon
- Inscrit le : 12.10.05
- Dernière visite : 06.12.08
- Messages : 735
gain de 3% pas mal
http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=mx4&q=%284641-4496%29*100%2F4641&btnG=Rechercher&meta=
tu avais testé juste un appel à la session ou le chargement d'une page complète ?
Membre du PSR Project (Pagesetter replacement) -
- Rang : Grand Maître
- Inscrit le : 03.07.05
- Dernière visite : 28.12.08
- Messages : 2278
Quote
tu avais testé juste un appel à la session ou le chargement d'une page complète ?
J'ai effectué l'appel à la page d'accueil. J'ai donc autant de sessions que de bench faits... 20000 heureusement, elles ont expirées pour certaines !
Gilles ><>° -
- Rang : Franc-Maçon
- Inscrit le : 12.10.05
- Dernière visite : 06.12.08
- Messages : 735
-
- Rang : Grand Maître
- Inscrit le : 03.07.05
- Dernière visite : 28.12.08
- Messages : 2278
J'ai vu que tu avais déjà soumis cette évolution et que tu avais eu une réponse négative car cette évolution n'est possible que sous MySQL et non sous postgresql...
Je pense donc, quand j'ai le temps, créer et publier un petit hack pour MySQL permettant d'avoir cette petite évolution, bien que je pense que pour de nombreux site, l'évolution ne se voie pas !
++
Gilles ><>°
Aller à la page: 1 - 2 - 3 [+1]
- Modéré par :
- Admins
Utilisateurs en ligne
- 6 visiteurs
Données pour les 20 dernières minutes
