25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-22 16:20:52 +01:00
Go to file
Janusz Dziemidowicz 3fd5513549 Decrease CPU usage caused by tls:send with large data.
Sending one large chunk of data with tls:send eats lots of
CPU power and blocks whole Erlang emulator. This is caused by the
fact that encrypted output is read from memory BIO in 1k chunks.
Memory BIO, after reading data, shifts the remaining part.
If large chunks of data (few MB) is sent and then read in 1k
chunks, then a _lot_ of shifting is performed eating CPU.

The solution is to simply allocate binary of the needed size
(amount of data in memory BIO can be retrieved with
BIO_ctrl_pending) and then issue only one read that reads the
whole data.
2011-09-25 00:56:15 +02:00
contrib Move the extract_translations code to the tools dir (EJAB-1311) 2010-09-27 13:39:15 +02:00
doc New option support: ldap_deref_aliases (EJAB-639) 2011-09-19 17:03:36 +10:00
src Decrease CPU usage caused by tls:send with large data. 2011-09-25 00:56:15 +02:00
tools Update example extauth script with tryregister, removeuser and removeuser3 (EJAB-641) 2010-12-03 17:23:55 +01:00
.gitignore Ignore OS X libraries. 2010-12-15 16:47:46 +01:00
COPYING * src/msgs/nl.msg: Updated (thanks to Sander Devrieze) 2004-10-09 20:15:49 +00:00
README Replace the full ejabberd_zlib into a simple exmpp_compress interface (EJAB-991) 2011-09-03 01:04:33 +02:00

ejabberd - High-Performance Enterprise Instant Messaging Server 

Quickstart guide


0. Requirements

To compile ejabberd you need:
 - GNU Make
 - GCC
 - Erlang/OTP R12B-5 or higher. Recommended: R12B-5, R13B04 and R14B01.
   Avoid R14A and R14B.
 - exmpp 0.9.6 or higher
 - OpenSSL 0.9.8 or higher, for STARTTLS, SASL and SSL encryption.
 - Erlang mysql library. Optional. MySQL authentication/storage.
 - Erlang pgsql library. Optional. PostgreSQL authentication/storage.
 - PAM library. Optional. For Pluggable Authentication Modules (PAM).
 - ESASL library. Optional. For SASL GSSAPI authentication.
 - ImageMagick's Convert program. Optional. For CAPTCHA challenges.


1. Compile and install on *nix systems

To compile ejabberd, go to the directory src/ and execute the commands:
  ./configure
  make

If you get an error like:
  ./configure: No such file or directory
the solution is to first execute:
  aclocal
  autoconf

To install ejabberd, run this command with system administrator rights
(root user):

  sudo make install

These commands will:
 - Install the configuration files in /etc/ejabberd/
 - Install ejabberd binary, header and runtime files in /lib/ejabberd/
 - Install the administration script: /sbin/ejabberdctl
 - Install ejabberd documentation in /share/doc/ejabberd/
 - Create a spool directory: /var/lib/ejabberd/
 - Create a directory for log files: /var/log/ejabberd/


2. Start ejabberd

You can use the ejabberdctl command line administration script to
start and stop ejabberd. For example:
  ejabberdctl start


For detailed information please refer to the
ejabberd Installation and Operation Guide