Discussion:
Kolab / Roundcube very slow
Young, Marcus
2015-12-21 00:13:25 UTC
Permalink
Hi All,

we have been testing Kolab as a replacement for Zimbra. The main issue
we have is that the interface (Roundcube) is really really slow - almost
unusable. When clicking on an email to view it can take upwards of 20
seconds to display. I assume that there is a configuration issue - but I
have no idea where to look. I have worked through a number of "fixes"
such as

https://wiki.archlinux.org/index.php/Kolab#Web_interface_is_slow_when_accessing_IMAP_folders
[1]

But so far no luck.

We are running the latest version on Ubuntu 14.04

Mark

Links:
------
[1]
https://wiki.archlinux.org/index.php/Kolab#Web_interface_is_slow_when_accessing_IMAP_folders
Timotheus Pokorra
2015-12-21 07:19:49 UTC
Permalink
Hello Mark,
we have been testing Kolab as a replacement for Zimbra. The main issue we
have is that the interface (Roundcube) is really really slow - almost
unusable. When clicking on an email to view it can take upwards of 20
seconds to display. I assume that there is a configuration issue - but I
have no idea where to look. I have worked through a number of "fixes" such
as
https://wiki.archlinux.org/index.php/Kolab#Web_interface_is_slow_when_accessing_IMAP_folders
But so far no luck.
Anything unusual in the log files? /var/log/maillog, or /var/log/roundcubemail.

Have you considered trying an IMAP Proxy:
https://kolab.org/blog/timotheus-pokorra/2014/12/15/kolabroundcube-nginx-imap-proxy-centos6
We are running the latest version on Ubuntu 14.04
Not many people in the community are using Kolab on Ubuntu. Most are
using CentOS or Debian. This statement is not verified, I might be
wrong, but that is what my gut feeling tells me. At least the most
contributing people are not using Ubuntu.

You should try if it works better on Debian, or if you not unfamiliar,
with CentOS, which is the primary target platform for Kolab.

hope this helps,
Timotheus
Soliva, Andrea
2015-12-21 08:09:45 UTC
Permalink
Hi

one hint more.....! The performance out of the box based on a CentOS 6/7
is absolutly ok and if all problems solved not a problem. Even if you
find you would like to install a caching service based on https you can
disable the mysqld Caching (libkolab / kolab-cache) and using
"memcached". I do so and I'm very satisfied with this solution even I do
not really need it. Below you will see what has to be done. It is in
German but you should follow without problems. Again it is not a
Extension to solve Problems it is a Extension go get more out of stuff
and actually only needed in a bigger env. the disadvantage of "libkolab
/ kolab-cache" is that -as written in the doc- each Access has to be
authentified on the mysqld db and this is a Overhead but for normal envs
or smaller env. absolutly no Problems. "memcached" ist not doing so
meaning no Overhead. Hopefully it helps if you solved your Basic
Problems!

Konfiguration: Modifizieren der Konfiguration "(memcached)" für
"Roundcubemail"

Wie unter nachfolgenden Artikel beschrieben wird für "kolab_cache" die
Konfiguration "db" benutzt was wiederum heisst das eine "mysqld"
Datenbank als Cache benutzt wird. Für die meisten Installation ist die
Definition "db" in Ordnung wobei Folgendes zu berücksichtigen ist: Wenn
"db" definiert wird entsteht ein "overhead". Dieser entsteht dadurch,
dass für die entsprechende "db" (kolab) eine Authentifizierung
durchgeführt werden muss sowie: Datenbank Selektierung, Datenbank
Abfrage, Empfangen von Antworten usw. Somit profitiert ein IMAP Cache
nicht in dem Sinne betreffend Performance da dieser beschriebenen
"Overhead" entsteht. Im Gegensatz zu der Definition "db" kann speziell
für grössere Umgebungen "memcached" definiert werden. Bei dieser
Definition fällt der "Overhead" betreffend "Authentifizierung" komplett
weg. Ebenfalls kann "memcached" als Service gestartet werden sowie die
Resourcen explizit zugewiesen werden. Um "memcached" zu nutzen müssen
die entsprechenden Module zuerst installiert werden. Dazu führe
folgendes aus:

# yum install memcached


=============================================================================================================================================================================================
Package Arch
Version
Repository Size

=============================================================================================================================================================================================
Installing:
memcached i686
1.4.4-3.el6
base 67 k
Installing for dependencies:
libevent i686
1.4.13-4.el6
base 67 k

Transaction Summary

=============================================================================================================================================================================================
Install 2 Package(s)

Total download size: 134 k
Installed size: 371 k
Is this ok [y/N]: Y


Nach der Installation kontrolliere ob "memcached" korrekt installiert
wurde:
# which memcached
/usr/bin/memcached


Um die Hilfe von "memcached" aufzurufen führe folgendes aus:
# memcached -h


Der Service resp. das Binary "memcached" ist zwar installiert jedoch
nicht das Module für den Service "httpd" resp. "php". Installiere somit
das entsprechende Module:
# yum install php-pecl-memcache

=============================================================================================================================================================================================
Package Arch
Version
Repository Size

=============================================================================================================================================================================================
Installing:
php-pecl-memcache i686
3.0.5-4.el6
base 60 k

Transaction Summary

=============================================================================================================================================================================================
Install 1 Package(s)

Total download size: 60 k
Installed size: 160 k
Is this ok [y/N]: Y

NOTE Die nachfolgenden Module müssen für den Kolab Server 3.4
nicht installiert werden dh.:

# yum install python-memcached
# yum install perl-Cache-Memcached


Das Module ist zwar installiert jedoch muss das entsprechende Module in
"/etc/php.ini" geladen werden. In "/etc/php.ini" wird betreffend Modulen
verwiesen anhand des folgenden Hinweises:

# vi /etc/php.ini

--------------- /etc/php.ini ---------------

;;;;
; Note: packaged extension modules are now loaded via the .ini
files
; found in the directory /etc/php.d; these are loaded by default.
;;;;

--------------- /etc/php.ini ---------------


Kontrolliere ob das entsprechende ".ini" File für "memcached" existiert:

# ls -la /etc/php.d/memc*
-rw-r--r-- 1 root root 1329 Jun 22 2012 /etc/php.d/memcache.ini


In diesem File wird das entsprechende Module gestartet:

# vi /etc/php.d/memcache.ini

--------------- /etc/php.d/memcache.ini ---------------

; ----- Enable memcache extension module
extension=memcache.so

; ----- Options for the memcache module

--------------- /etc/php.d/memcache.ini ---------------


Damit das Module geladen wird resp. die neue Konfiguration starte den
Service für "php" resp. "httpd" neu:

# systemctl restart httpd.service

NOTE Für CentOS 6 benütze folgendes:

# service httpd restart


Nun "memcache" wird als Service im Hintergrund betrieben dh. um den Port
sowie weitere Optionen zu definieren muss dies im folgenden File
konfiguriert werden:

# cp -p /etc/sysconfig/memcached /etc/sysconfig/memcached.orig
# vi /etc/sysconfig/memcached

--------------- /etc/sysconfig/memcached ---------------

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-v -R 20 -n 512 -l 127.0.0.1 -U 0"
#OPTIONS="-n 512 -s /var/run/memcached/memcached.sock"

--------------- /etc/sysconfig/memcached ---------------

NOTE Damit "memcached" nicht auf allen Interface läuft definiere
wir "-l 127.0.0.1". Dies garantiert das "memcached"
ausschliesslich auf "localhost" läuft resp. "127.0.0.1".
Damit "UDP" nicht aktiviert wird definiere zusätzlich
"-U 0". Somit läuft "memcached" auf der entsprechenden IP
resp. "localhost" nur als TCP. Zusätzlich kann der
Zugriff über Netzwerk verhindert werden dh. da wir den
Service nur "local" benutzt kann dies definiert werden
anhand der Option "-s /var/run/memcached/memcached.sock".
Wird der Socket definiert anhand "-s" wird "-l"
deaktiviert da nur einer der Optionen aktiv sein kann. Für
unsere Konfiguration ist "-s" nicht anwendbar da
"nur" der Socket über "roundcubemail" Standard Konfiguration
nicht unterstützt wird. Möchte man einen "debug"
Mode ausführen stehen folgende Optionen zur Verfügung "-v,
-vv oder -vvv". Dies wird ebenfalls innerhalb der
"OPTIONS" definiert (zB "-vvv -l 127.0.0.1 -U 0". Das Debug
wird in der Console ausgeführt in dem der Service
"memcached" gestartet wurde. Der Standard Wert der max.
Grösse eines Packets für Caching in "memcached" steht
auf 48 Bytes was ziemlich wenig ist und für
"key+value+flags" benutzt wird. Setzte mit der Option "-n 512"
diesen Wert auf 512 Bytes.


Die "max_packet_size" ist nur für "db" definiert und steht per Standard
auf 2 MB. Dies bedeutet wiederum mit "db" ist "mysql" gemeint. Wird
jedoch "memcached" benutzt gibt es keinen Standard Wert mehr. Dies
bedeutet es kommt unweigerlich zu einer Fehlemeldung in
"/var/log/kolab-syncroton/errors":

PHP Warning: rcube_cache: max_packet_size (0) exceeded for key
mailboxes.metadata.Drafts.446be42f5518b0285ccbea93f318d096. Tried to
write 85 bytes in
/usr/share/roundcubemail/program/lib/Roundcube/rcube_cache.php on line
342


Um die "max_packet_size" für "nicht" mysql resp. "db" also zB
"memcached" zu konfigurieren führe folgendes aus:

# vi /etc/roundcubemail/defaults.inc.php

--------------- /etc/roundcubemail/defaults.inc.php
---------------

// It is possible to specify database variable values e.g. some
limits here.
// Use them if your server is not MySQL or for better
performance.
// For example Roundcube uses max_allowed_packet value (in bytes)
// which limits query size for database cache operations.
//$config['db_max_allowed_packet'] = null;
$config['db_max_allowed_packet'] = 12582912; // default/max is 2
MB

--------------- /etc/roundcubemail/defaults.inc.php
---------------

NOTE Als Anhaltspunkt betreffend "db_max_allowed_packet" kann
folgende Kalkulation herangenommen
werden:

CACHESIZE : 5 = (64 :5 = 12.8)

12 X 1024 X 1024 = 12582912


Wie man sieht läuft der Service über den User "memcached". Kontrolliere
ob dieser existiert:

# cat /etc/passwd | grep memcached
memcached:x:410:409:Memcached
daemon:/var/run/memcached:/sbin/nologin


Starte den Service von "memcached":

# systemctl start memcached.service

NOTE Für CentOS 6 benütze folgendes:

# service memcached start


Kontrolliere ob der Service "memcache" nur auf "localhost" läuft resp.
"127.0.0.1":

# netstat -an | grep memcached
unix 2 [ ACC ] STREAM LISTENING 28297220
/var/run/memcached/memcached.sock


Die gesetzten Optionen dh. auch die Standard Optionen des Service
"memcached" sieht man ebenfalls folgendermassen:

# ps -ef | grep memcached
410 6884 1 0 13:05 ? 00:00:00 memcached -d -p
11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid -l
127.0.0.1 -U 0


Nun ist alles bereit und "roundcubemail" kann umkonfiguriert werden um
"memcache" anstelle "sql" zu benutzen:

# vi /etc/roundcubemail/config.inc.php

--------------- /etc/roundcubemail/config.inc.php ---------------

// Caching and storage settings default
// $config['imap_cache'] = 'db';
// $config['imap_cache_ttl'] = '10d';
// $config['messages_cache'] = 'db';
// $config['message_cache_ttl'] = '10d';
// $config['session_storage'] = 'db';

// Caching and storage settings "memcache"
$config['imap_cache'] = 'memcache';
$config['memcache_hosts'] = array('127.0.0.1:11211');
$config['imap_cache_ttl'] = '10d';
$config['messages_cache'] = 'null';
$config['message_cache_ttl'] = '10d';
$config['session_storage'] = 'null';

--------------- /etc/roundcubemail/config.inc.php ---------------


Danach starte den "httpd" Service neu:

# systemctl restart httpd.service

NOTE Für CentOS 6 benütze folgendes:

# service httpd restart


Wenn "memcached" installiert wird so wird der Service nicht aktiviert
dh. bei einem Neustart des Service würde dieser nicht automatisch
gestartet werden. Damit dies jedoch ausgeführt wird führe folgendes aus:

# chkconfig memcached on


Kontrolliere ob "memcached" nun für RC 2/3/4 sowie 5 aktiviert wurde:

# chkconfig --list | grep memcached
memcached 0:off 1:off 2:on 3:on 4:on 5:on
6:off


Nun kann zB über "rouncubemail" eingloggt werden oder zB über
"ActiveSync" eine Verbindung etabliert werden. Wenn in
"/etc/sysconfig/memcached" der "debug" Mode mit folgenden Eintrag (zB
-v, -vv sowie -vvv) aktiviert wurde wird folgendes in der Console
nachträglich angezeigt wenn eine Verbindung etabliert wird:

--------------- /etc/sysconfig/memcached ---------------

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-v -R 20 -n 512 -l 127.0.0.1 -U 0 >>
/var/log/memcached/memcached.log 2>&1"
#OPTIONS="-v -n 512 -s /var/run/memcached/memcached.sock >>
/var/log/memcached/memcached.log 2>&1"

--------------- /etc/sysconfig/memcached ---------------


Da in "/etc/sysconfig/memcached" das Log File definiert wird/wurde muss
das entsprechende Verzeichnis mit dem Log File erstellt werden:

# mkdir /var/log/memcached
# chown root:memcached /var/log/memcached
# chmod 750 /var/log/memcached
# touch /var/log/memcached/memcached.log
# chown root:memcached /var/log/memcached/memcached.log
# chmod 640 /var/log/memcached/memcached.log

NOTE Wenn das File "/etc/sysconfig/memcached" modifiziert wird
führe für den Service einen Neustart durch:

# systemctl start memcached.service

Für CentOS 6 benütze folgendes:

# Service memcached start


Kontrolliere den Start von "memcached" im Log File:

# tail -f /var/log/memcached/memcached.log


Wenn das Log File in "/etc/sysconfig/memcached" nicht definiert wird mit
">> /var/log/memcached/memcached.log 2>&1" wird der "output" des Debug
durch "-vv" odr "-vvv" in der Console angzeigt ansonsten wird der
"output" durch die Definition des Log File in das entsprechende Log File
geschrieben:

--------------- Output Console -vv "/etc/sysconfig/memcached"
---------------

<27 new auto-negotiating client connection
27: Client using the ascii protocol
<27 incr __CONNECTIONTEST__ 1
27 NOT_FOUND
<27 get 1:IMAPINDEX
27 END
<27 stats
<27 replace
1:IMAP:mailboxes.metadata.INBOX.4ea34792fde4aa45b17a28c7a6be19a1 2
864000 258
27 NOT_STORED
<27 set
1:IMAP:mailboxes.metadata.INBOX.4ea34792fde4aa45b17a28c7a6be19a1 2
864000 258
27 STORED
<27 replace
1:IMAP:mailboxes.metadata.*.446be42f5518b0285ccbea93f318d096 2 864000
647
27 NOT_STORED
<27 set
1:IMAP:mailboxes.metadata.*.446be42f5518b0285ccbea93f318d096 2 864000
647
27 STORED
<27 replace
1:IMAP:mailboxes.metadata.*.4ea34792fde4aa45b17a28c7a6be19a1 2 864000
580
27 NOT_STORED
<27 set
1:IMAP:mailboxes.metadata.*.4ea34792fde4aa45b17a28c7a6be19a1 2 864000
580
27 STORED
<27 replace
1:IMAP:mailboxes.list.52e1b99e06a8329123cb018461fe3894 2 864000 492
27 NOT_STORED
<27 set 1:IMAP:mailboxes.list.52e1b99e06a8329123cb018461fe3894 2
864000 492
27 STORED
<27 replace 1:IMAP:mailboxes.attributes 2 864000 483
27 NOT_STORED
<27 set 1:IMAP:mailboxes.attributes 2 864000 483
27 STORED
<27 replace
1:IMAP:mailboxes.metadata.Archive.446be42f5518b0285ccbea93f318d096 0
864000 6
27 NOT_STORED
<27 set
1:IMAP:mailboxes.metadata.Archive.446be42f5518b0285ccbea93f318d096 0
864000 6
27 STORED
<27 replace 1:IMAPINDEX 2 864000 187
27 NOT_STORED
<27 set 1:IMAPINDEX 2 864000 187
27 STORED
<27 connection closed.
<27 new auto-negotiating client connection
27: Client using the ascii protocol
<27 incr __CONNECTIONTEST__ 1
27 NOT_FOUND
<27 get 1:IMAPINDEX
27 sending key 1:IMAPINDEX
27 END
<27 get
1:IMAP:mailboxes.metadata.INBOX.4ea34792fde4aa45b17a28c7a6be19a1
27 sending key
1:IMAP:mailboxes.metadata.INBOX.4ea34792fde4aa45b17a28c7a6be19a1
27 END
<27 get
1:IMAP:mailboxes.metadata.*.446be42f5518b0285ccbea93f318d096
27 sending key
1:IMAP:mailboxes.metadata.*.446be42f5518b0285ccbea93f318d096
27 END
<27 get 1:IMAP:mailboxes.list.52e1b99e06a8329123cb018461fe3894
27 sending key
1:IMAP:mailboxes.list.52e1b99e06a8329123cb018461fe3894
27 END
<27 get
1:IMAP:mailboxes.metadata.Archive.446be42f5518b0285ccbea93f318d096
27 sending key
1:IMAP:mailboxes.metadata.Archive.446be42f5518b0285ccbea93f318d096
27 END
<27 get
1:IMAP:mailboxes.metadata.*.4ea34792fde4aa45b17a28c7a6be19a1
27 sending key
1:IMAP:mailboxes.metadata.*.4ea34792fde4aa45b17a28c7a6be19a1
27 END
<27 stats
<27 replace 1:IMAP:mailboxes.folder-info.Configuration 2 864000
199
27 NOT_STORED
<27 set 1:IMAP:mailboxes.folder-info.Configuration 2 864000 199
27 STORED
<27 replace 1:IMAP:mailboxes.folder-info.Calendar 2 864000 191
27 NOT_STORED
<27 set 1:IMAP:mailboxes.folder-info.Calendar 2 864000 191
27 STORED
<27 replace
1:IMAP:mailboxes.folder-info.Calendar/Personal_Calendar 2 864000 207
27 NOT_STORED
<27 set 1:IMAP:mailboxes.folder-info.Calendar/Personal_Calendar 2
864000 207
27 STORED
<27 replace 1:IMAP:mailboxes.folder-info.Contacts 2 864000 191
27 NOT_STORED
<27 set 1:IMAP:mailboxes.folder-info.Contacts 2 864000 191
27 STORED
<27 replace
1:IMAP:mailboxes.folder-info.Contacts/Personal_Contacts 2 864000 205
27 NOT_STORED
<27 set 1:IMAP:mailboxes.folder-info.Contacts/Personal_Contacts 2
864000 205
27 STORED
<27 replace 1:IMAP:mailboxes.folder-info.Tasks 2 864000 194
27 NOT_STORED
<27 set 1:IMAP:mailboxes.folder-info.Tasks 2 864000 194
27 STORED
<27 replace 1:IMAPINDEX 2 864000 273
27 STORED
<27 connection closed.
<27 new auto-negotiating client connection
27: Client using the ascii protocol
<27 incr __CONNECTIONTEST__ 1
27 NOT_FOUND
<27 get 1:IMAPINDEX
27 sending key 1:IMAPINDEX
27 END
<27 get
1:IMAP:mailboxes.metadata.INBOX.4ea34792fde4aa45b17a28c7a6be19a1
27 sending key
1:IMAP:mailboxes.metadata.INBOX.4ea34792fde4aa45b17a28c7a6be19a1
27 END
--------------- Output Console -vv "/etc/sysconfig/memcached"
---------------


Desweiteren kann das "session" handling ebenfalls in "memcached"
verschoben werden. Dies bedeutet: im File "/etc/php.ini" ist definiert
das "session" handling auf "files" durchgeführt wird dh. "Filesystem".
Da "memcached" im Memory durchgeführt wird ist, ist das die schnellere
Variante als auf "files" resp. Filesystem. Um "session" handling für
"memcached" zu konfigurieren bedarf es nur folgender Aenderung im File
"/etc/php.ini":

# vi /etc/php.ini

--------------- /etc/php.ini ---------------
[Session]
; Handler used to store/retrieve data.
;
http://www.php.net/manual/en/session.configuration.php#ini.session.save-handler
;session.save_handler = files
session.save_handler = memcache

; where MODE is the octal representation of the mode. Note that
this
; does not overwrite the process's umask.
;
http://www.php.net/manual/en/session.configuration.php#ini.session.save-path
; session.save_path = "/var/lib/php/session"
session.save_path = "tcp://127.0.0.1:11211"

--------------- /etc/php.ini ---------------


Um die Einstellungen für das Module "memcached" betreffend "php" zu
überprüfen kann folgendes Kommando benützt werden:

# php -i | grep memcach
/etc/php.d/memcache.ini,
memcache
memcache support => enabled
memcache.allow_failover => 1 => 1
memcache.chunk_size => 32768 => 32768
memcache.compress_threshold => 20000 => 20000
memcache.default_port => 11211 => 11211
memcache.hash_function => crc32 => crc32
memcache.hash_strategy => consistent => consistent
memcache.lock_timeout => 15 => 15
memcache.max_failover_attempts => 20 => 20
memcache.protocol => ascii => ascii
memcache.redundancy => 1 => 1
memcache.session_redundancy => 2 => 2
Registered save handlers => files user memcache
session.save_handler => memcache => memcache


Danach starte den "httpd" Service neu:

# systemctl restart httpd.service

NOTE Für CentOS 6 benütze folgendes:

# service httpd restart


Um herauszufinden ob "memcached" genügend Resourcen zur Verfügung steht
für das Caching können folgende Befehle benutzt werden:

# memcached-tool 127.0.0.1:11211
# Item_Size Max_age Pages Count Full? Evicted
Evict_Time OOM
1 544B 129s 1 94 no 0 0
0
2 680B 27s 1 2 no 0 0
0
3 856B 421s 1 2 no 0 0
0
4 1.0K 747s 1 1 no 0 0
0
14 9.8K 115s 1 1 no 0 0
0

# memcached-tool 127.0.0.1:11211 display
# Item_Size Max_age Pages Count Full? Evicted
Evict_Time OOM
1 544B 129s 1 117 no 0 0
0
2 680B 27s 1 2 no 0 0
0
3 856B 421s 1 2 no 0 0
0
4 1.0K 747s 1 1 no 0 0
0
14 9.8K 115s 1 1 no 0 0
0

# memcached-tool 127.0.0.1:11211 stats
#127.0.0.1:11211 Field Value
accepting_conns 1
auth_cmds 0
auth_errors 0
bytes 42780
bytes_read 280368
bytes_written 301921
cas_badval 0
cas_hits 0
cas_misses 0
cmd_flush 0
cmd_get 476
cmd_set 387
conn_yields 0
connection_structures 7
curr_connections 5
curr_items 124
decr_hits 0
decr_misses 0
delete_hits 0
delete_misses 0
evictions 0
get_hits 466
get_misses 10
incr_hits 18
incr_misses 50
limit_maxbytes 67108864
listen_disabled_num 0
pid 13630
pointer_size 32
rusage_system 0.097985
rusage_user 0.053991
threads 4
time 1443421738
total_connections 72
total_items 247
uptime 809
version 1.4.4

NOTE Die wichtigen Positionen im "stats" sind die Folgenden:

curr_items: Zeigt an wieviele Objekte momentan im Cache
sind für "memcached".
evictions: Zeigt an wieviele Objekte entfernt wurden von
"memcached" um für neue Objekte Platz zu schaffen
die mehr benutzt werden. Wenn dieser Wert sehr
hoch ist muss "memcached" mehr Platz zur Verfügung
gestellt werden im RAM da ansonsten die
Objekte von "memcached" dauernd ausgetauscht werden müssen.
Dies wäre Contraproduktiv und somit
beeinträchtigt dies die Performance.
get_misses: Zeigt an wieviel mal ein Objekt nicht in
"memcached" gespeichert wurde. Wenn "memcached" neu gestartet
wird ist dieser Wert zu Beginn höher da der
Cache zuerst up to date gebracht werden muss. Wenn sich
dieser Wert kontinuierlich erhöht nachdem
"memcached" gestartet wird muss dies näher betrachtet werden
und kann seinen Ursprung im RAM haben
betreffend Objekte die nicht in den Cache geschrieben werden können.
bytes_read: Zeigt die Anzahl "Bytes" an die durch
"memcached" gelesen wurden.
bytes_written: Zeigt die Anzahl "Bytes" an die durch
"memcached" geschrieben wurde.


Wenn wiederum auf "db" Konfiguration umgestellt werden möchte muss die
Konfiguration Rückgängig gemacht werden dh.:

# vi /etc/roundcubemail/config.inc.php

--------------- /etc/roundcubemail/config.inc.php ---------------

// Caching and storage settings default
$config['imap_cache'] = 'db';
$config['imap_cache_ttl'] = '10d';
$config['messages_cache'] = 'db';
$config['message_cache_ttl'] = '10d';
$config['session_storage'] = 'db';

// Caching and storage settings "memcache"
// $config['imap_cache'] = 'memcache';
// $config['memcache_hosts'] = array('127.0.0.1:11211');
// $config['imap_cache_ttl'] = '10d';
// $config['messages_cache'] = 'null';
// $config['message_cache_ttl'] = '10d';
// $config['session_storage'] = 'null';

--------------- /etc/roundcubemail/config.inc.php ---------------

# vi /etc/roundcubemail/defaults.inc.php

--------------- /etc/roundcubemail/defaults.inc.php
---------------

// It is possible to specify database variable values e.g. some
limits here.
// Use them if your server is not MySQL or for better
performance.
// For example Roundcube uses max_allowed_packet value (in bytes)
// which limits query size for database cache operations.
$config['db_max_allowed_packet'] = null;
//$config['db_max_allowed_packet'] = 12582912; // default/max is
2 MB

--------------- /etc/roundcubemail/defaults.inc.php
---------------

# vi /etc/php.ini

--------------- /etc/php.ini ---------------
[Session]
; Handler used to store/retrieve data.
;
http://www.php.net/manual/en/session.configuration.php#ini.session.save-handler
session.save_handler = files
;session.save_handler = memcache

; where MODE is the octal representation of the mode. Note that
this
; does not overwrite the process's umask.
;
http://www.php.net/manual/en/session.configuration.php#ini.session.save-path
session.save_path = "/var/lib/php/session"
;session.save_path = "tcp://127.0.0.1:11211"

--------------- /etc/php.ini ---------------


Stoppe den "memcached" Service sowie deaktiviere diesen sofern nicht
mehr benötigt:

# systemctl stop memcached.Service
# chkconfig memcached off

NOTE Für CentOS 6 führe folgendes aus:

# Service memcached stop


Danach starte den "httpd" Service neu:
# systemctl restart httpd.service

NOTE Für CentOS 6 benütze folgendes:

# service httpd restart



---
Kind regards

Andrea Soliva
Hello Mark,
we have been testing Kolab as a replacement for Zimbra. The main issue we
have is that the interface (Roundcube) is really really slow - almost
unusable. When clicking on an email to view it can take upwards of 20
seconds to display. I assume that there is a configuration issue - but I
have no idea where to look. I have worked through a number of "fixes" such
as
https://wiki.archlinux.org/index.php/Kolab#Web_interface_is_slow_when_accessing_IMAP_folders
But so far no luck.
Anything unusual in the log files? /var/log/maillog, or
/var/log/roundcubemail.
https://kolab.org/blog/timotheus-pokorra/2014/12/15/kolabroundcube-nginx-imap-proxy-centos6
We are running the latest version on Ubuntu 14.04
Not many people in the community are using Kolab on Ubuntu. Most are
using CentOS or Debian. This statement is not verified, I might be
wrong, but that is what my gut feeling tells me. At least the most
contributing people are not using Ubuntu.
You should try if it works better on Debian, or if you not unfamiliar,
with CentOS, which is the primary target platform for Kolab.
hope this helps,
Timotheus
_______________________________________________
users mailing list
https://lists.kolab.org/mailman/listinfo/users
Andy Kopciuch
2015-12-21 09:56:04 UTC
Permalink
Post by Young, Marcus
Hi All,
we have been testing Kolab as a replacement for Zimbra. The main issue
we have is that the interface (Roundcube) is really really slow - almost
unusable. When clicking on an email to view it can take upwards of 20
seconds to display. I assume that there is a configuration issue - but I
have no idea where to look. I have worked through a number of "fixes"
such as
There could be lots of different things causing this in your particular setup.

- How many users experience this, or is it only you?
- How many users in total, and how many simultaneous users (how high is the
server load)?
- Is the slowness only in roundcube, are IMAP operations with other clients
operating normally?
- Is the slowness in all folders, and all messages, or only particular folders
and/or messages.
- How is roundcube configured to connect to IMAP?
- Is the webmail over http:// or https://
- Is this limited to one particular browser, or all browsers?
- Is this connecting on an internal network, or public IP?
- Is the DNS, hostname, etc. configured properly?
- Is this a virtual server? Or physical hardware? What kind of hardware /
CPU, Memory, etc.


The last deployment I did a few months ago was ubuntu 14.04, and it has been
running without issue.



Andy
Young, Marcus
2015-12-22 08:57:19 UTC
Permalink
Thank you for everybody for the guidance.... so the solution.

Reviewing the logs showed that curl was having a DNS issue and timing
out before presumably falling back to a secondary lookup (as the
application was still working - but slow). Hunting around the network
identified a failed DNS server ... restoring the server resulted in a
dramatic improvement to Kolab. Not sure why DNS was required to open
emails, but this certainly seems to have corrected the issue. Thank you
again for all the assistance.
Post by Andy Kopciuch
Post by Young, Marcus
Hi All,
we have been testing Kolab as a replacement for Zimbra. The main issue
we have is that the interface (Roundcube) is really really slow - almost
unusable. When clicking on an email to view it can take upwards of 20
seconds to display. I assume that there is a configuration issue - but I
have no idea where to look. I have worked through a number of "fixes"
such as
There could be lots of different things causing this in your particular setup.
- How many users experience this, or is it only you?
- How many users in total, and how many simultaneous users (how high is the
server load)?
- Is the slowness only in roundcube, are IMAP operations with other clients
operating normally?
- Is the slowness in all folders, and all messages, or only particular folders
and/or messages.
- How is roundcube configured to connect to IMAP?
- Is the webmail over http:// or https://
- Is this limited to one particular browser, or all browsers?
- Is this connecting on an internal network, or public IP?
- Is the DNS, hostname, etc. configured properly?
- Is this a virtual server? Or physical hardware? What kind of hardware /
CPU, Memory, etc.
The last deployment I did a few months ago was ubuntu 14.04, and it has been
running without issue.
Andy
_______________________________________________
users mailing list
https://lists.kolab.org/mailman/listinfo/users [1]
--
DIRECTOR, RESEARCH AND DEVELOPMENT, INCARTA IT
Email: ***@incarta.com.au
Web: http://www.incarta.com.au/
Corporate: +61 3 9729 4899 / 1300 137 557
Mobile: + 61 419 554 213

This email may contain confidential information intended only for the
person named above and may be subject to legal privilege and
confidentiality obligations imposed by legislation or be subject to
intellectual property protection or copyright. If you are not the
intended recipient, any use, disclosure, copying or distribution of this
transmission is prohibited. If you have received this message in error,
please notify us immediately by return email and delete the original
email and any attachments. Incarta provides no guarantee that this
transmission is free of virus or that it has not been intercepted or
altered.



Links:
------
[1] https://lists.kolab.org/mailman/listinfo/users
Loading...