2

我在 1 秒内收到 10 到 20 个这些错误:

Memcache_connect 连接超时

这种情况每天会发生几次,在一个每天有大约 2500 个活跃用户、1GB 内存的服务器上。我不认为服务器正在交换。大多数时候,我的内存利用率低于 75%,CPU 利用率低于 25%。平均负载通常小于 9。我按照此处的调试说明进行操作:http ://code.google.com/p/memcached/wiki/Timeouts

这是我的内存缓存统计信息:

stats
STAT pid 15365
STAT uptime 173776
STAT time 1329157234
STAT version 1.2.8
STAT pointer_size 32
STAT rusage_user 1171.316354
STAT rusage_system 7046.435826
STAT curr_items 28494
STAT total_items 4039745
STAT bytes 3371127
STAT curr_connections 36
STAT total_connections 102206685
STAT connection_structures 328
STAT cmd_flush 0
STAT cmd_get 73532547
STAT cmd_set 4039745
STAT get_hits 40779162
STAT get_misses 32753385
STAT evictions 0
STAT bytes_read     2153565193
STAT bytes_written 38768040520
STAT limit_maxbytes 67108864
STAT threads 2
STAT accepting_conns 1
STAT listen_disabled_num 0

我的假设是我的 TIME_WAIT 桶用完了:

netstat -n | grep TIME_WAIT | wc -l

51892

但是不知道是不是太高了。我在 Solaris 上(在 Joyent 服务器上)并且tcp_time_wait_interval设置为 60000。其他一些读数建议将此设置降低到 30000 或 15000。但这对我来说似乎不是一个可扩展的解决方案。

我怎么知道它的桶用完了?我应该增加 TIME_WAIT 存储桶的数量吗?如果是这样,如何?

4

0 回答 0