Назад | Перейти на главную страницу

Как увеличить лимит curr_connections с помощью memcache?

Я использую сервер с ядром Centos 6.5 64 бит, ядро ​​2.6.32 и 64 ГБ ОЗУ и 12 потоковых ядер, и я не могу увеличить текущие соединения, используемые в memcache.

Это мой вывод STATS:

# echo stats | nc 127.0.0.1 11211
STAT pid 356091
STAT uptime 440
STAT time 1409760961
STAT version 1.4.20
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 1.747734
STAT rusage_system 3.660443
STAT curr_connections 64
STAT total_connections 133
STAT connection_structures 64
STAT reserved_fds 60
STAT cmd_get 123537
STAT cmd_set 63080
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 73162
STAT get_misses 50375
STAT delete_misses 8979
STAT delete_hits 1090
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 68155115
STAT bytes_written 181284445
STAT limit_maxbytes 17179869184
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 12
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT bytes 20493483
STAT curr_items 17980
STAT total_items 63080
STAT expired_unfetched 145
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 147
STAT crawler_reclaimed 0
END

Мой вывод для ulimit (я не знаю, достигаю ли я некоторой конфигурации системы)

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 515008
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 999999
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65535
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Моя конфигурация memcached

# cat /etc/sysconfig/memcached 
PORT="11211"
USER="memcached"
MAXCONN="2048"
CACHESIZE="16384"
OPTIONS="-t 12 -l 127.0.0.1"

Текущий сервер имеет более 6-7 тысяч обращений в секунду, поэтому это не проблема для небольшого числа пользователей, и он подключает только 64 к соединениям кэша памяти.

Какой параметр мне изменить, чтобы увеличить STAT curr_connections 64 до верхнего предела?

Попробуйте посмотреть ulimit пользователя memcached. Что-то вроде этого:

su memcached -s /bin/bash ulimit -a