Support (offered by community volunteers) > Internationalization and Localization

Prototype and benchmarks: using Drupal's t() for translating CiviCRM

<< < (3/3)

jimyhuang:
Quick test in 20 mins.

Environment
Visit /civicrm/admin?reset=1 by pressing F5 reload page.
Using drupal devel module.
CiviCRM 3.4 + drupal 6
with other sites on the same box. (but sure the concurrent only running this one.)

First, with memcached localized string + APC - no significant between db cached string. But I believe it will have different when concurrent page view increase.
try 1:
Page execution time was 483.59 ms.
Memory usage: Memory used at: devel_init()=0.42 MB, devel_shutdown()=8.46 MB.
try 2:
Page execution time was 473.7 ms.
Memory usage: Memory used at: devel_init()=0.42 MB, devel_shutdown()=8.46 MB.
try 3:
Page execution time was 404.17 ms.
Memory usage: Memory used at: devel_init()=0.42 MB, devel_shutdown()=8.45 MB.


Second, database cached localize string + APC
try 1:
Page execution time was 413.77 ms.
Memory usage: Memory used at: devel_init()=0.35 MB, devel_shutdown()=8.27 MB.
try 2:
Page execution time was 403.42 ms.
Memory usage: Memory used at: devel_init()=0.35 MB, devel_shutdown()=8.27 MB.
try 3:
Page execution time was 589.74 ms.
Memory usage: Memory used at: devel_init()=0.35 MB, devel_shutdown()=8.27 MB.

Third, original civicrm mo file + APC + Drupal memcached
try 1:
Page execution time was 616.8 ms.
Memory usage: Memory used at: devel_init()=0.42 MB, devel_shutdown()=18.36 MB

try 2:
Page execution time was 666.08 ms.
Memory usage: Memory used at: devel_init()=0.42 MB, devel_shutdown()=18.36 MB.

try 3:
Page execution time was 753.31 ms.
Memory usage: Memory used at: devel_init()=0.42 MB, devel_shutdown()=18.36 MB.


Forth, Native gettext from CRM-9976 patch (to CiviCRM 3.3)
try 1:
Page execution time was 392.88 ms.
Memory usage: Memory used at: devel_init()=0.42 MB, devel_shutdown()=8.44 MB.

try 2:
Page execution time was 458.07 ms.
Memory usage: Memory used at: devel_init()=0.42 MB, devel_shutdown()=8.44 MB.

try 3:
Page execution time was 407.58 ms.
Memory usage: Memory used at: devel_init()=0.42 MB, devel_shutdown()=8.44 MB.

mathieu:
Very interesting, thanks!

jimyhuang:
Another try with apache ab in 4 different setup. Don't think this number can prove anything, because every try have high login failure attempt.

Command
ab -c 10 -t 10 -C SESSf9bc9ce58ed8526f33fead6b70414073=f1b26c701d5b47f63c09da878c5e3e1f https://xxxxxxxxx/civicrm/admin?reset=1

1. translation cached into memcache( drupal memcache enable)
=====================================
Document Path:          /civicrm/admin?reset=1
Document Length:        100265 bytes

Concurrency Level:      10
Time taken for tests:   10.286 seconds
Complete requests:      91
Failed requests:        36
   (Connect: 0, Receive: 0, Length: 36, Exceptions: 0)
Write errors:           0
Total transferred:      9223351 bytes
HTML transferred:       9189679 bytes
Requests per second:    8.85 [#/sec] (mean)
Time per request:       1130.363 [ms] (mean)
Time per request:       113.036 [ms] (mean, across all concurrent requests)
Transfer rate:          875.65 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       19   46  37.3     33     185
Processing:   858 1012  74.5   1005    1189
Waiting:      813  967  71.6    963    1148
Total:        881 1058  91.9   1054    1324


2. translation cached into drupal db (drupal memcache disable)
=====================================
Document Path:          /civicrm/admin?reset=1
Document Length:        100265 bytes

Concurrency Level:      10
Time taken for tests:   10.026 seconds
Complete requests:      79
Failed requests:        67
   (Connect: 0, Receive: 0, Length: 67, Exceptions: 0)
Write errors:           0
Total transferred:      8040389 bytes
HTML transferred:       8011109 bytes
Requests per second:    7.88 [#/sec] (mean)
Time per request:       1269.152 [ms] (mean)
Time per request:       126.915 [ms] (mean, across all concurrent requests)
Transfer rate:          783.13 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       22   62  41.7     47     207
Processing:   824 1154 103.1   1143    1407
Waiting:      804 1093  98.2   1083    1341
Total:        889 1216 107.7   1217    1441



3. original civicrm(drupal memcach enabled)
=====================================
Concurrency Level:      10
Time taken for tests:   10.035 seconds
Complete requests:      46
Failed requests:        3
   (Connect: 0, Receive: 0, Length: 3, Exceptions: 0)
Write errors:           0
Total transferred:      4629115 bytes
HTML transferred:       4612279 bytes
Requests per second:    4.58 [#/sec] (mean)
Time per request:       2181.618 [ms] (mean)
Time per request:       218.162 [ms] (mean, across all concurrent requests)
Transfer rate:          450.47 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       18   51  40.5     32     168
Processing:  1476 1902 207.7   1902    2417
Waiting:     1419 1840 201.6   1842    2324
Total:       1506 1954 210.1   1945    2486



4. native gettext(drupal memcache enabled)
======================================
Document Path:          /civicrm/admin?reset=1
Document Length:        100265 bytes

Concurrency Level:      10
Time taken for tests:   10.399 seconds
Complete requests:      92
Failed requests:        35
   (Connect: 0, Receive: 0, Length: 35, Exceptions: 0)
Write errors:           0
Total transferred:      9348551 bytes
HTML transferred:       9314513 bytes
Requests per second:    8.85 [#/sec] (mean)
Time per request:       1130.302 [ms] (mean)
Time per request:       113.030 [ms] (mean, across all concurrent requests)
Transfer rate:          877.93 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       18   43  32.7     32     161
Processing:   691 1009 100.8   1001    1337
Waiting:      644  965  97.7    959    1304
Total:        738 1052 103.7   1048    1380

xavier:
Damn!

I was expecting an improvement with gettext native, but I'm amazed by how much (both memory & speed). Thanks mathieu to have worked on it and thanks jimy for the benchmarking.

Well done.

X+

iWi:
In our case the combination of APC and Native text shows a impressive results.

Thanks Mathieu!!

**********************************************************************************************
ENVIROMENT
**********************************************************************************************
CiviCRM 4.1.2 + Drupal 7.14 + Multilanguage (Spanish Castilian)
Debian 6 + Apache + MySQL 5.1.61-0+squeeze1 + PHP    5.3.3-7+squeeze8
RAM 1.5 GB

**********************************************************************************************
1.- Original civicrm.mo file + APC (Drupal memcache DISABLED)
**********************************************************************************************
ab -c 10 -t 10 -C SESSb07ce7c584.... site.org/index.php?q=civicrm/admin?reset=1

Document Path:          /index.php?q=civicrm/admin?reset=1
Document Length:        9497 bytes

Concurrency Level:      10
Time taken for tests:   11.367 seconds
Complete requests:      21
Failed requests:        0
Write errors:           0
Non-2xx responses:      21
Total transferred:      208992 bytes
HTML transferred:       199437 bytes
Requests per second:    1.85 [#/sec] (mean)
Time per request:       5413.092 [ms] (mean)
Time per request:       541.309 [ms] (mean, across all concurrent requests)
Transfer rate:          17.95 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.2      0       1
Processing:  3599 4052 294.9   4103    4674
Waiting:     3532 3972 291.2   4033    4573
Total:       3599 4053 295.0   4103    4675

Percentage of the requests served within a certain time (ms)
  50%   4016
  66%   4208
  75%   4246
  80%   4247
  90%   4391
  95%   4487
  98%   4675
  99%   4675
 100%   4675 (longest request)
 
**********************************************************************************************
2.- Native gettext + APC 3.1.9 (Drupal memcache DISABLED)
**********************************************************************************************
ab -c 10 -t 10 -C SESSb07ce7c584.... site.org/index.php?q=civicrm/admin?reset=1

Document Path:          /index.php?q=civicrm/admin?reset=1
Document Length:        9497 bytes

Concurrency Level:      10
Time taken for tests:   10.101 seconds
Complete requests:      172
Failed requests:        0
Write errors:           0
Non-2xx responses:      173
Total transferred:      1721696 bytes
HTML transferred:       1642981 bytes
Requests per second:    17.03 [#/sec] (mean)
Time per request:       587.242 [ms] (mean)
Time per request:       58.724 [ms] (mean, across all concurrent requests)
Transfer rate:          166.46 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.2      0       1
Processing:   413  571 101.3    547     922
Waiting:      389  537 103.2    508     879
Total:        413  571 101.4    547     922

Percentage of the requests served within a certain time (ms)
  50%    547
  66%    566
  75%    581
  80%    594
  90%    679
  95%    851
  98%    882
  99%    890
 100%    922 (longest request)
 

**********************************************************************************************
3.- Native gettext (APC 3.1.9 DISABLED) (Drupal memcache DISABLED)
**********************************************************************************************
ab -c 10 -t 10 -C SESSb07ce7c584.... site.org/index.php?q=civicrm/admin?reset=1
Document Path:          /index.php?q=civicrm/admin?reset=1
Document Length:        9497 bytes

Concurrency Level:      10
Time taken for tests:   19.636 seconds
Complete requests:      30
Failed requests:        0
Write errors:           0
Non-2xx responses:      39
Total transferred:      388128 bytes
HTML transferred:       370383 bytes
Requests per second:    1.53 [#/sec] (mean)
Time per request:       6545.394 [ms] (mean)
Time per request:       654.539 [ms] (mean, across all concurrent requests)
Transfer rate:          19.30 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   1.3      0       3
Processing:  1050 3198 2202.7   2370   11142
Waiting:      924 3081 2206.0   2242   10991
Total:       1050 3199 2202.2   2374   11142

Percentage of the requests served within a certain time (ms)
  50%   2374
  66%   4579
  75%   4667
  80%   4734
  90%   6123
  95%   6212
  98%  11142
  99%  11142
 100%  11142 (longest request)

Navigation

[0] Message Index

[*] Previous page

Go to full version