1 / 7
Feb 2018

Hello,
in the section “Please note / Errata” of the page https://github.com/EGroupware/egroupware/wiki/Release-notes-17.117 I’ve found this notice:
EGroupware relies heavily on caching: it does this by default in filesystem, to improve speed you should install APCu PHP extension with at least 128MB memory (apc.shm_size * apc.shm_segments >= 128MB)

How I’ve to setup the APCu parameters to have the best performace for egroupware?

Thanks

  • created

    Feb '18
  • last reply

    Feb '18
  • 6

    replies

  • 2.7k

    views

  • 2

    users

  • 4

    links

Hi synt,

look into your php.ini…
Or rather: Make a package installation! Then it’s all going to be fine.

Greetings
Stefan

Hi StefanU,
thanks for answer.

I’ve just set apc.shm_size=128M in my php.ini…but I’ve also this parameters:

; Setting this enables APCu for the CLI version of PHP
; (Mostly for testing and debugging).
;apc.enable_cli=0

; Sets the path to text files containing caches to load from disk upon
; initialization of APCu. preload_path should be a directory where each
; file follows $key.data where $key should be used as the entry name
; and the contents of the file contains serialized data to use as the value
; of the entry.
;apc.preload_path=

; The number of seconds a cache entry is allowed to idle in a slot in case
; this cache entry slot is needed by another entry.
;apc.ttl=0

; The number of seconds that a cache entry may remain on the
; garbage-collection list.
;apc.gc_ttl=3600

; If you begin to get low on resources, an expunge of the cache
; is performed if it is less than half full. This is not always
; a suitable way of determining if an expunge of the cache
; should be per apc.smart allows you to set a runtime configuration
; value which is used to determine if an expunge should be run
; if (available_size < apc.smart * requested_size)
;apc.smart=0

; A “hint” about the number variables expected in the cache.
; Set to zero or omit if you are not sure;
;apc.entries_hint=4096

; The mktemp-style file_mask to pass to the mmap module
apc.mmap_file_mask=/tmp/apc.XXXXXX

; On very busy servers whenever you start the server or
; modify files you can create a race of many processes
; all trying to cache the same data at the same time.
; By default, APCu attempts to prevent “slamming” of a key.
; A key is considered “slammed” if it was the last key set,
; and a context other than the current one set it ( ie. it
; was set by another process or thread )
;apc.slam_defense=1

; Defines which serializer should be used
; Default is the standard PHP serializer.
;apc.serializer=‘default’

; use the SAPI request start time for TTL
;apc.use_request_time=1

; Enables APCu handling of signals, such as SIGSEGV, that write core files
; when signaled. APCu will attempt to unmap the shared memory segment in
; order to exclude it from the core file
;apc.coredump_unmap=0

What I’ve to setup?

Hi synt,

these are my parameters from my current installation:
(Admin/Admin/php information)

In Admin/Admin/php information you can also check the Apcu with View APCu stats (the link above).

For a best performance:
Make a package installation on a current OS (for a actual PHP >7.0: ubuntu server 16.04/17.10). Install with nginx php-fpm egroupware-epl for a nginx web server. That’s performant! And you don’t have to set anything extra.

Greetings
Stefan

Ok…
Thanks so much StefanU.

Greetings
Synt

Hi,
I’ve seen in admin/apcu.php file there is this little configuration:

////////// BEGIN OF DEFAULT CONFIG AREA ///////////////////////////////////////////////////////////

defaults(‘USE_AUTHENTICATION’,1); // Use (internal) authentication - best choice if
// no other authentication is available
// If set to 0:
// There will be no further authentication. You
// will have to handle this by yourself!
// If set to 1:
// You need to change ADMIN_PASSWORD to make
// this work!
defaults(‘ADMIN_USERNAME’,‘apc’); // Admin Username
defaults(‘ADMIN_PASSWORD’,‘password’); // Admin Password - CHANGE THIS TO ENABLE!!!

// (beckerr) I’m using a clear text password here, because I’ve no good idea how to let
// users generate a md5 or crypt password in a easy way to fill it in above

//defaults(‘DATE_FORMAT’, “d.m.Y H:i:s”); // German
defaults(‘DATE_FORMAT’, ‘Y/m/d H:i:s’); // US

defaults(‘GRAPH_SIZE’,200); // Image size

//defaults(‘PROXY’, ‘tcp://127.0.0.1:8080’);

Which username and password I’ve to set?

Thanks
Greetings
Synt

Complement:
Activate gzip in the web server, set up ssl and activate http/2. That ist important for use a web-application over the web.
Check the db-server with a performance-tool (e.g. mysqltuner).

For performance-tuning of web-applications there are tons of informations out there. Use that. In this forum we can help you to use EGroupware.

Or you book our commercial support2.

Greetings
Stefan