From: Per Buer <[email protected]> > > > Wrt, Dridis point about threads might also not be that relevant as only > 700-800 threads are being created. Session workspace is virtual until > allocated so I don't think that is where your memory is disappearing. > > 24 thread pools is a bit odd (you only need two) but don't know of any leaks > it might trigger. > > I'd stay away from classic hashing as cribit is stable and you're the only one > I know that uses it. > > When is the varnishstat taken? Right before running out of memory? That would > probably be useful.
There are 24 thread pools because there are 24 cores in the server and I’m sure someone read somewhere that a pool per was the way to go. Probably that was a long time ago in a galaxy far, far away…. What are the significant differences between classic and cribit hashing? The system is currently fully using available physical memory and has burned through about 15% of the swap space. The varnishstat was taken after the physical memory was exhausted and with just a few Gigs of swap in use. Here is a current snapshot from top and varnishstat –1 if that helps. Mem: 24G Active, 2857M Inact, 3757M Wired, 433M Cache, 510M Free ARC: 1715M Total, 555M MFU, 274M MRU, 1042K Anon, 216M Header, 670M Other Swap: 32G Total, 5174M Used, 27G Free, 15% Inuse PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 87309 www 803 20 0 49189M 23483M select 22 130.1H 5.27% varnishd client_conn 115492418 106.06 Client connections accepted client_drop 0 0.00 Connection dropped, no sess/wrk client_req 195339845 179.39 Client requests received cache_hit 94748999 87.01 Cache hits cache_hitpass 8249240 7.58 Cache hits for pass cache_miss 79893031 73.37 Cache misses backend_conn 39130304 35.93 Backend conn. success backend_unhealthy 0 0.00 Backend conn. not attempted backend_busy 132086 0.12 Backend conn. too many backend_fail 0 0.00 Backend conn. failures backend_reuse 98773816 90.71 Backend conn. reuses backend_toolate 6237866 5.73 Backend conn. was closed backend_recycle 105011602 96.44 Backend conn. recycles backend_retry 11220 0.01 Backend conn. retry fetch_head 577 0.00 Fetch head fetch_length 48290509 44.35 Fetch with Length fetch_chunked 89008238 81.74 Fetch chunked fetch_eof 0 0.00 Fetch EOF fetch_bad 0 0.00 Fetch had bad headers fetch_close 509908 0.47 Fetch wanted close fetch_oldhttp 0 0.00 Fetch pre HTTP/1.1 closed fetch_zero 0 0.00 Fetch zero len fetch_failed 45097 0.04 Fetch failed fetch_1xx 0 0.00 Fetch no body (1xx) fetch_204 0 0.00 Fetch no body (204) fetch_304 68372 0.06 Fetch no body (304) n_sess_mem 1150 . N struct sess_mem n_sess 722 . N struct sess n_object 942029 . N struct object n_vampireobject 0 . N unresurrected objects n_objectcore 942471 . N struct objectcore n_objecthead 936744 . N struct objecthead n_waitinglist 624 . N struct waitinglist n_vbc 117 . N struct vbc n_wrk 792 . N worker threads n_wrk_create 792 0.00 N worker threads created n_wrk_failed 0 0.00 N worker threads not created n_wrk_max 0 0.00 N worker threads limited n_wrk_lqueue 0 0.00 work request queue length n_wrk_queued 0 0.00 N queued work requests n_wrk_drop 0 0.00 N dropped work requests n_backend 7 . N backends n_expired 50061996 . N expired objects n_lru_nuked 28851249 . N LRU nuked objects n_lru_moved 56196515 . N LRU moved objects losthdr 7 0.00 HTTP header overflows n_objsendfile 0 0.00 Objects sent with sendfile n_objwrite 139062543 127.71 Objects sent with write n_objoverflow 0 0.00 Objects overflowing workspace s_sess 115493404 106.06 Total Sessions s_req 195339845 179.39 Total Requests s_pipe 0 0.00 Total pipe s_pass 58017202 53.28 Total pass s_fetch 137832710 126.58 Total fetch s_hdrbytes 73466348331 67467.23 Total header bytes s_bodybytes 1475428907061 1354948.26 Total body bytes sess_closed 11135893 10.23 Session Closed sess_pipeline 8340 0.01 Session Pipeline sess_readahead 3402 0.00 Session Read Ahead sess_linger 186082340 170.89 Session Linger sess_herd 193483825 177.68 Session herd shm_records 17182889691 15779.77 SHM records shm_writes 1058678573 972.23 SHM writes shm_flushes 4719 0.00 SHM flushes due to overflow shm_cont 335494 0.31 SHM MTX contention shm_cycles 7346 0.01 SHM cycles through buffer sms_nreq 405919 0.37 SMS allocator requests sms_nobj 0 . SMS outstanding allocations sms_nbytes 0 . SMS outstanding bytes sms_balloc 1127850835 . SMS bytes allocated sms_bfree 1127850835 . SMS bytes freed backend_req 137878631 126.62 Backend requests made n_vcl 1 0.00 N vcl total n_vcl_avail 1 0.00 N vcl available n_vcl_discard 0 0.00 N vcl discarded n_ban 1 . N total active bans n_ban_gone 1 . N total gone bans n_ban_add 1 0.00 N new bans added n_ban_retire 0 0.00 N old bans deleted n_ban_obj_test 0 0.00 N objects tested n_ban_re_test 0 0.00 N regexps tested against n_ban_dups 0 0.00 N duplicate bans removed hcb_nolock 0 0.00 HCB Lookups without lock hcb_lock 0 0.00 HCB Lookups with lock hcb_insert 0 0.00 HCB Inserts esi_errors 0 0.00 ESI parse errors (unlock) esi_warnings 0 0.00 ESI parse warnings (unlock) accept_fail 547 0.00 Accept failures client_drop_late 0 0.00 Connection dropped late uptime 1088919 1.00 Client uptime dir_dns_lookups 0 0.00 DNS director lookups dir_dns_failed 0 0.00 DNS director failed lookups dir_dns_hit 0 0.00 DNS director cached lookups hit dir_dns_cache_full 0 0.00 DNS director full dnscache vmods 0 . Loaded VMODs n_gzip 92821054 85.24 Gzip operations n_gunzip 98789399 90.72 Gunzip operations sess_pipe_overflow 0 . Dropped sessions due to session pipe overflow LCK.sms.creat 1 0.00 Created locks LCK.sms.destroy 0 0.00 Destroyed locks LCK.sms.locks 1217757 1.12 Lock Operations LCK.sms.colls 0 0.00 Collisions LCK.smp.creat 0 0.00 Created locks LCK.smp.destroy 0 0.00 Destroyed locks LCK.smp.locks 0 0.00 Lock Operations LCK.smp.colls 0 0.00 Collisions LCK.sma.creat 2 0.00 Created locks LCK.sma.destroy 0 0.00 Destroyed locks LCK.sma.locks 762080017 699.85 Lock Operations LCK.sma.colls 0 0.00 Collisions LCK.smf.creat 0 0.00 Created locks LCK.smf.destroy 0 0.00 Destroyed locks LCK.smf.locks 0 0.00 Lock Operations LCK.smf.colls 0 0.00 Collisions LCK.hsl.creat 0 0.00 Created locks LCK.hsl.destroy 0 0.00 Destroyed locks LCK.hsl.locks 0 0.00 Lock Operations LCK.hsl.colls 0 0.00 Collisions LCK.hcb.creat 0 0.00 Created locks LCK.hcb.destroy 0 0.00 Destroyed locks LCK.hcb.locks 0 0.00 Lock Operations LCK.hcb.colls 0 0.00 Collisions LCK.hcl.creat 250007 0.23 Created locks LCK.hcl.destroy 0 0.00 Destroyed locks LCK.hcl.locks 364838330 335.05 Lock Operations LCK.hcl.colls 0 0.00 Collisions LCK.vcl.creat 1 0.00 Created locks LCK.vcl.destroy 0 0.00 Destroyed locks LCK.vcl.locks 1404720 1.29 Lock Operations LCK.vcl.colls 0 0.00 Collisions LCK.stat.creat 1 0.00 Created locks LCK.stat.destroy 0 0.00 Destroyed locks LCK.stat.locks 115493914 106.06 Lock Operations LCK.stat.colls 0 0.00 Collisions LCK.sessmem.creat 1 0.00 Created locks LCK.sessmem.destroy 0 0.00 Destroyed locks LCK.sessmem.locks 115660082 106.22 Lock Operations LCK.sessmem.colls 0 0.00 Collisions LCK.wstat.creat 1 0.00 Created locks LCK.wstat.destroy 0 0.00 Destroyed locks LCK.wstat.locks 3815488 3.50 Lock Operations LCK.wstat.colls 0 0.00 Collisions LCK.herder.creat 1 0.00 Created locks LCK.herder.destroy 0 0.00 Destroyed locks LCK.herder.locks 1 0.00 Lock Operations LCK.herder.colls 0 0.00 Collisions LCK.wq.creat 24 0.00 Created locks LCK.wq.destroy 0 0.00 Destroyed locks LCK.wq.locks 436653782 401.00 Lock Operations LCK.wq.colls 0 0.00 Collisions LCK.objhdr.creat 69117038 63.47 Created locks LCK.objhdr.destroy 68180433 62.61 Destroyed locks LCK.objhdr.locks 605204037 555.78 Lock Operations LCK.objhdr.colls 0 0.00 Collisions LCK.exp.creat 1 0.00 Created locks LCK.exp.destroy 0 0.00 Destroyed locks LCK.exp.locks 159855422 146.80 Lock Operations LCK.exp.colls 0 0.00 Collisions LCK.lru.creat 2 0.00 Created locks LCK.lru.destroy 0 0.00 Destroyed locks LCK.lru.locks 108706511 99.83 Lock Operations LCK.lru.colls 0 0.00 Collisions LCK.cli.creat 1 0.00 Created locks LCK.cli.destroy 0 0.00 Destroyed locks LCK.cli.locks 544317 0.50 Lock Operations LCK.cli.colls 0 0.00 Collisions LCK.ban.creat 1 0.00 Created locks LCK.ban.destroy 0 0.00 Destroyed locks LCK.ban.locks 159911741 146.85 Lock Operations LCK.ban.colls 0 0.00 Collisions LCK.vbp.creat 1 0.00 Created locks LCK.vbp.destroy 0 0.00 Destroyed locks LCK.vbp.locks 826695 0.76 Lock Operations LCK.vbp.colls 0 0.00 Collisions LCK.vbe.creat 1 0.00 Created locks LCK.vbe.destroy 0 0.00 Destroyed locks LCK.vbe.locks 78260491 71.87 Lock Operations LCK.vbe.colls 0 0.00 Collisions LCK.backend.creat 7 0.00 Created locks LCK.backend.destroy 0 0.00 Destroyed locks LCK.backend.locks 327541647 300.80 Lock Operations LCK.backend.colls 0 0.00 Collisions SMA.s0.c_req 211189969 193.94 Allocator requests SMA.s0.c_fail 28921596 26.56 Allocator failures SMA.s0.c_bytes 9340561806222 8577829.76 Bytes allocated SMA.s0.c_freed 9334120384877 8571914.33 Bytes freed SMA.s0.g_alloc 1924886 . Allocations outstanding SMA.s0.g_bytes 6441310878 . Bytes outstanding SMA.s0.g_space 1140066 . Bytes available SMA.Transient.c_req 122683830 112.67 Allocator requests SMA.Transient.c_fail 0 0.00 Allocator failures SMA.Transient.c_bytes 7588011522470 6968389.31 Bytes allocated SMA.Transient.c_freed 7588004757463 6968383.10 Bytes freed SMA.Transient.g_alloc 6530 . Allocations outstanding SMA.Transient.g_bytes 6765007 . Bytes outstanding SMA.Transient.g_space 0 . Bytes available > >> >>>> >As a hotfix I would cap Transient at, say, 2G. "varnishd -s >>>> Transient=malloc,2G". You can probably up your main storage quite a bit >>>> with this in place. >> >> I’ll give it a shot and let you know. It usually takes a couple days before >> filling up all the physical memory. > > Well, I'm somewhat doubtful it it will actually work. > I guess it is a good thing I hadn’t actually made the change then. Since this is a production system, I was going to wait until our maintenance period tonight.
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ varnish-misc mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
