-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.scalability
29 lines (29 loc) · 1.74 KB
/
README.scalability
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
MICO scalability
----------------
In MICO 2.3.14 release we have switched to use thread per connection
concurrency model by default on the server side to improve scalability
of MICO. This was the first change in the long line of changes to make
MICO scales well on boxes with more CPUs or with NUMA
architecture. One thing we cannot do for you and that is your OS
choice of malloc/free library. Please note that MICO is quite
sensitive to scalability of your C++ standard library. Generally
speaking standard libraries do not scale that well. To change that
fact user usually needs to use some custom malloc/free library which
is tuned for high CPU number SMP/NUMA boxes and which is used by the
C++ standard library. In MICO 2.3.14 we have tested two of them: Sun's
UMEM and Google's Tcmalloc. Sun's lib UMEM is installed by default on
Solaris and MICO detects it and use automatically. If you don't like
this, you can disable its usage by using --disable-umem configure
option. At least Debian and RedHat Enteprise Linux also provide an
option to install Google's Tcmalloc from their packages. Please note
that you should install libtcmalloc_minimal package not libtcmalloc
package which provides additional debugging facility. When installed
libtcmalloc_minimal is detected and use automatically. If you don't
like that, you can disable this by using --disable-tcmalloc configure
option.
If you use another OS than SunOS, Debian or RHEL, please consult your
OS documentation for OS provided scalable version of library which
provides malloc/free functionality. If you use Unix or Unix-like OS
you can also attempt compiling and installing lib UMEM or Tcmalloc
yourself. Download from http://labs.omniti.com/labs/portableumem or
from http://goog-perftools.sourceforge.net/ then.