Je migre le moteur de recherche du diplo (en anglais, dans un premier
temps), de ht://dig vers spip. C'est l'occasion d'un comparatif
performances. Pour ce qui est de la présentation, "y'a pas photo", c'est
bien mieux sous spip. (cf. URLs ci-dessous).
En terme de vitesse, en revanche, on est 5 fois plus lents que htdig, que ce
soit (comme ci-dessous) avec un mot qui donne pas mal de résultats qu'avec
un mot qui donne un résultat vide.
Le squelette (basé sur http://rezo.net/spip-dev/contrib/Adrien/) contient
deux boucles {recherche} : la première boucle servant à calculer le nombre
total de documents trouvés, la seconde à présenter une page de ces
résultats.
En commentant la première boucle, on ne descend qu'à 160ms, soit 24ms
de moins (seulement) qu'avec deux boucles. La lenteur (toute relative)
constatée est donc ailleurs.
fil@miel~> /usr/sbin/ab ‘http://MondeDiplo.com/search?s=jerusalem’ -n10
...
Concurrency Level: 1
Time taken for tests: 1.839 seconds
Requests per second: 5.44 [#/sec] (mean)
Time per request: 183.90 [ms] (mean)
Time per request: 183.90 [ms] (mean, across all concurrent requests)
Transfer rate: 54.00 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 127 183 19.7 190 196
Waiting: 127 183 19.6 190 195
Total: 127 183 19.7 190 196
Percentage of the requests served within a certain time (ms)
50% 190
66% 190
75% 190
80% 191
90% 196
95% 196
98% 196
99% 196
100% 196 (last request)
fil@miel~> /usr/sbin/ab ‘http://www.monde-diplomatique.fr/cgi-bin/htsearch?config=htdigen&words=jerusalem’ -n10
...
Concurrency Level: 1
Time taken for tests: 0.428 seconds
Complete requests: 10
Failed requests: 0
Broken pipe errors: 0
Total transferred: 181210 bytes
HTML transferred: 179310 bytes
Requests per second: 23.36 [#/sec] (mean)
Time per request: 42.80 [ms] (mean)
Time per request: 42.80 [ms] (mean, across all concurrent requests)
Transfer rate: 423.39 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 41 42 0.7 42 44
Waiting: 41 42 0.7 42 44
Total: 41 42 0.7 42 44
Percentage of the requests served within a certain time (ms)
50% 42
66% 42
75% 43
80% 43
90% 44
95% 44
98% 44
99% 44
100% 44 (last request)
-- Fil