Kolab / Roundcube very slow

Soliva, Andrea andrea.soliva at comcept.ch
Mon Dec 21 09:09:45 CET 2015


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


Am 21-12-2015 08:19, schrieb Timotheus Pokorra:
> 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
> _______________________________________________
> users mailing list
> users at lists.kolab.org
> https://lists.kolab.org/mailman/listinfo/users


More information about the users mailing list