Closed yowcow closed 6 years ago
cat /proc/$(ps awux | grep goromdb | grep -v grep | awk '{ print $2 }')/status
...
VmPeak: 1266868 kB
VmSize: 1266868 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 574016 kB
VmRSS: 574016 kB
VmData: 1254324 kB
VmStk: 132 kB
VmExe: 2376 kB
VmLib: 3728 kB
VmPTE: 1268 kB
VmPMD: 28 kB
VmSwap: 0 kB
...
% lsof -c goromdb
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
goromdb 28826 vagrant cwd DIR 252,0 4096 1583349 /home/vagrant/go/src/github.com/yowcow/goromdb
goromdb 28826 vagrant rtd DIR 252,0 4096 2 /
goromdb 28826 vagrant txt REG 252,0 3913992 3167372 /home/vagrant/go/src/github.com/yowcow/goromdb/goromdb
goromdb 28826 vagrant mem REG 252,0 1868984 1066554 /lib/x86_64-linux-gnu/libc-2.23.so
goromdb 28826 vagrant mem REG 252,0 138696 1066537 /lib/x86_64-linux-gnu/libpthread-2.23.so
goromdb 28826 vagrant mem REG 252,0 1756696 2238356 /usr/lib/x86_64-linux-gnu/libdb-5.3.so
goromdb 28826 vagrant mem REG 252,0 162632 1066532 /lib/x86_64-linux-gnu/ld-2.23.so
goromdb 28826 vagrant 0u CHR 136,3 0t0 6 /dev/pts/3
goromdb 28826 vagrant 1u CHR 136,3 0t0 6 /dev/pts/3
goromdb 28826 vagrant 2u CHR 136,3 0t0 6 /dev/pts/3
goromdb 28826 vagrant 3u IPv6 1062874 0t0 TCP *:11211 (LISTEN)
goromdb 28826 vagrant 4u a_inode 0,11 0 6978 [eventpoll]
goromdb 28826 vagrant 5u IPv6 1199649 0t0 TCP 192.168.33.10:11211->192.168.33.1:61799 (ESTABLISHED)
goromdb 28826 vagrant 6r REG 252,0 84668416 2231935 /home/vagrant/go/src/github.com/yowcow/goromdb/tmp/data01/data.db
goromdb 28826 vagrant 7u IPv6 1199650 0t0 TCP 192.168.33.10:11211->192.168.33.1:61800 (ESTABLISHED)
goromdb 28826 vagrant 8u IPv6 1199651 0t0 TCP 192.168.33.10:11211->192.168.33.1:61801 (ESTABLISHED)
goromdb 28826 vagrant 9u IPv6 1199652 0t0 TCP 192.168.33.10:11211->192.168.33.1:61802 (ESTABLISHED)
goromdb 28826 vagrant 10u IPv6 1199744 0t0 TCP 192.168.33.10:11211->192.168.33.1:61852 (ESTABLISHED)
goromdb 28826 vagrant 11u IPv6 1199694 0t0 TCP 192.168.33.10:11211->192.168.33.1:61803 (ESTABLISHED)
goromdb 28826 vagrant 12u IPv6 1199695 0t0 TCP 192.168.33.10:11211->192.168.33.1:61804 (ESTABLISHED)
goromdb 28826 vagrant 13u IPv6 1199696 0t0 TCP 192.168.33.10:11211->192.168.33.1:61806 (ESTABLISHED)
goromdb 28826 vagrant 14u IPv6 1199697 0t0 TCP 192.168.33.10:11211->192.168.33.1:61805 (ESTABLISHED)
goromdb 28826 vagrant 15u IPv6 1199698 0t0 TCP 192.168.33.10:11211->192.168.33.1:61807 (ESTABLISHED)
goromdb 28826 vagrant 16u IPv6 1199699 0t0 TCP 192.168.33.10:11211->192.168.33.1:61808 (ESTABLISHED)
goromdb 28826 vagrant 17u IPv6 1199745 0t0 TCP 192.168.33.10:11211->192.168.33.1:61853 (ESTABLISHED)
goromdb 28826 vagrant 18u IPv6 1199700 0t0 TCP 192.168.33.10:11211->192.168.33.1:61809 (ESTABLISHED)
goromdb 28826 vagrant 19u IPv6 1199701 0t0 TCP 192.168.33.10:11211->192.168.33.1:61810 (ESTABLISHED)
goromdb 28826 vagrant 20u IPv6 1199702 0t0 TCP 192.168.33.10:11211->192.168.33.1:61811 (ESTABLISHED)
goromdb 28826 vagrant 21u IPv6 1199703 0t0 TCP 192.168.33.10:11211->192.168.33.1:61812 (ESTABLISHED)
goromdb 28826 vagrant 22u IPv6 1199552 0t0 TCP 192.168.33.10:11211->192.168.33.1:61704 (ESTABLISHED)
goromdb 28826 vagrant 23u IPv6 1199553 0t0 TCP 192.168.33.10:11211->192.168.33.1:61705 (ESTABLISHED)
goromdb 28826 vagrant 24u IPv6 1199746 0t0 TCP 192.168.33.10:11211->192.168.33.1:61854 (ESTABLISHED)
goromdb 28826 vagrant 25u IPv6 1199747 0t0 TCP 192.168.33.10:11211->192.168.33.1:61855 (ESTABLISHED)
goromdb 28826 vagrant 26u IPv6 1199748 0t0 TCP 192.168.33.10:11211->192.168.33.1:61856 (ESTABLISHED)
goromdb 28826 vagrant 27u IPv6 1199749 0t0 TCP 192.168.33.10:11211->192.168.33.1:61857 (ESTABLISHED)
goromdb 28826 vagrant 28u IPv6 1199750 0t0 TCP 192.168.33.10:11211->192.168.33.1:61858 (ESTABLISHED)
goromdb 28826 vagrant 29u IPv6 1199704 0t0 TCP 192.168.33.10:11211->192.168.33.1:61813 (ESTABLISHED)
goromdb 28826 vagrant 30r REG 252,0 84668416 2230889 /home/vagrant/go/src/github.com/yowcow/goromdb/tmp/data00/data.db
goromdb 28826 vagrant 31u IPv6 1199705 0t0 TCP 192.168.33.10:11211->192.168.33.1:61814 (ESTABLISHED)
goromdb 28826 vagrant 32u IPv6 1199706 0t0 TCP 192.168.33.10:11211->192.168.33.1:61815 (ESTABLISHED)
goromdb 28826 vagrant 33u IPv6 1199707 0t0 TCP 192.168.33.10:11211->192.168.33.1:61816 (ESTABLISHED)
goromdb 28826 vagrant 34u IPv6 1199751 0t0 TCP 192.168.33.10:11211->192.168.33.1:61859 (ESTABLISHED)
goromdb 28826 vagrant 35u IPv6 1199752 0t0 TCP 192.168.33.10:11211->192.168.33.1:61860 (ESTABLISHED)
goromdb 28826 vagrant 36u IPv6 1199708 0t0 TCP 192.168.33.10:11211->192.168.33.1:61817 (ESTABLISHED)
goromdb 28826 vagrant 37u IPv6 1199753 0t0 TCP 192.168.33.10:11211->192.168.33.1:61861 (ESTABLISHED)
goromdb 28826 vagrant 38u IPv6 1199563 0t0 TCP 192.168.33.10:11211->192.168.33.1:61715 (ESTABLISHED)
goromdb 28826 vagrant 39u IPv6 1199709 0t0 TCP 192.168.33.10:11211->192.168.33.1:61818 (ESTABLISHED)
goromdb 28826 vagrant 40u IPv6 1199710 0t0 TCP 192.168.33.10:11211->192.168.33.1:61819 (ESTABLISHED)
goromdb 28826 vagrant 41u IPv6 1199754 0t0 TCP 192.168.33.10:11211->192.168.33.1:61862 (ESTABLISHED)
goromdb 28826 vagrant 42u IPv6 1199755 0t0 TCP 192.168.33.10:11211->192.168.33.1:61863 (ESTABLISHED)
goromdb 28826 vagrant 43u IPv6 1199756 0t0 TCP 192.168.33.10:11211->192.168.33.1:61864 (ESTABLISHED)
goromdb 28826 vagrant 44u IPv6 1199757 0t0 TCP 192.168.33.10:11211->192.168.33.1:61865 (ESTABLISHED)
goromdb 28826 vagrant 45u IPv6 1199758 0t0 TCP 192.168.33.10:11211->192.168.33.1:61866 (ESTABLISHED)
goromdb 28826 vagrant 46u IPv6 1199571 0t0 TCP 192.168.33.10:11211->192.168.33.1:61723 (ESTABLISHED)
goromdb 28826 vagrant 47u IPv6 1199572 0t0 TCP 192.168.33.10:11211->192.168.33.1:61724 (ESTABLISHED)
goromdb 28826 vagrant 48u IPv6 1199759 0t0 TCP 192.168.33.10:11211->192.168.33.1:61867 (ESTABLISHED)
goromdb 28826 vagrant 49u IPv6 1199574 0t0 TCP 192.168.33.10:11211->192.168.33.1:61726 (ESTABLISHED)
goromdb 28826 vagrant 50u IPv6 1199575 0t0 TCP 192.168.33.10:11211->192.168.33.1:61727 (ESTABLISHED)
goromdb 28826 vagrant 51u IPv6 1199576 0t0 TCP 192.168.33.10:11211->192.168.33.1:61728 (ESTABLISHED)
goromdb 28826 vagrant 52u IPv6 1199577 0t0 TCP 192.168.33.10:11211->192.168.33.1:61729 (ESTABLISHED)
goromdb 28826 vagrant 53u IPv6 1199578 0t0 TCP 192.168.33.10:11211->192.168.33.1:61730 (ESTABLISHED)
goromdb 28826 vagrant 54u IPv6 1199579 0t0 TCP 192.168.33.10:11211->192.168.33.1:61731 (ESTABLISHED)
goromdb 28826 vagrant 55u IPv6 1199580 0t0 TCP 192.168.33.10:11211->192.168.33.1:61732 (ESTABLISHED)
goromdb 28826 vagrant 56u IPv6 1199581 0t0 TCP 192.168.33.10:11211->192.168.33.1:61733 (ESTABLISHED)
goromdb 28826 vagrant 57u IPv6 1199582 0t0 TCP 192.168.33.10:11211->192.168.33.1:61734 (ESTABLISHED)
goromdb 28826 vagrant 58u IPv6 1199583 0t0 TCP 192.168.33.10:11211->192.168.33.1:61735 (ESTABLISHED)
goromdb 28826 vagrant 59u IPv6 1199584 0t0 TCP 192.168.33.10:11211->192.168.33.1:61736 (ESTABLISHED)
goromdb 28826 vagrant 60u IPv6 1199760 0t0 TCP 192.168.33.10:11211->192.168.33.1:61868 (ESTABLISHED)
goromdb 28826 vagrant 61u IPv6 1199761 0t0 TCP 192.168.33.10:11211->192.168.33.1:61869 (ESTABLISHED)
goromdb 28826 vagrant 62u IPv6 1199762 0t0 TCP 192.168.33.10:11211->192.168.33.1:61870 (ESTABLISHED)
goromdb 28826 vagrant 63u IPv6 1199763 0t0 TCP 192.168.33.10:11211->192.168.33.1:61871 (ESTABLISHED)
goromdb 28826 vagrant 67u IPv6 1199711 0t0 TCP 192.168.33.10:11211->192.168.33.1:61820 (ESTABLISHED)
goromdb 28826 vagrant 68u IPv6 1199712 0t0 TCP 192.168.33.10:11211->192.168.33.1:61821 (ESTABLISHED)
goromdb 28826 vagrant 69u IPv6 1199713 0t0 TCP 192.168.33.10:11211->192.168.33.1:61822 (ESTABLISHED)
goromdb 28826 vagrant 70u IPv6 1199714 0t0 TCP 192.168.33.10:11211->192.168.33.1:61823 (ESTABLISHED)
goromdb 28826 vagrant 71u IPv6 1199715 0t0 TCP 192.168.33.10:11211->192.168.33.1:61824 (ESTABLISHED)
goromdb 28826 vagrant 72u IPv6 1199716 0t0 TCP 192.168.33.10:11211->192.168.33.1:61825 (ESTABLISHED)
goromdb 28826 vagrant 73u IPv6 1199717 0t0 TCP 192.168.33.10:11211->192.168.33.1:61826 (ESTABLISHED)
goromdb 28826 vagrant 77u IPv6 1199601 0t0 TCP 192.168.33.10:11211->192.168.33.1:61753 (ESTABLISHED)
goromdb 28826 vagrant 83u IPv6 1199607 0t0 TCP 192.168.33.10:11211->192.168.33.1:61759 (ESTABLISHED)
goromdb 28826 vagrant 84u IPv6 1199608 0t0 TCP 192.168.33.10:11211->192.168.33.1:61760 (ESTABLISHED)
goromdb 28826 vagrant 88u IPv6 1199718 0t0 TCP 192.168.33.10:11211->192.168.33.1:61827 (ESTABLISHED)
goromdb 28826 vagrant 91u IPv6 1199614 0t0 TCP 192.168.33.10:11211->192.168.33.1:61766 (ESTABLISHED)
goromdb 28826 vagrant 92u IPv6 1199719 0t0 TCP 192.168.33.10:11211->192.168.33.1:61828 (ESTABLISHED)
goromdb 28826 vagrant 93u IPv6 1199720 0t0 TCP 192.168.33.10:11211->192.168.33.1:61829 (ESTABLISHED)
goromdb 28826 vagrant 94u IPv6 1199721 0t0 TCP 192.168.33.10:11211->192.168.33.1:61830 (ESTABLISHED)
goromdb 28826 vagrant 95u IPv6 1199722 0t0 TCP 192.168.33.10:11211->192.168.33.1:61831 (ESTABLISHED)
goromdb 28826 vagrant 96u IPv6 1199615 0t0 TCP 192.168.33.10:11211->192.168.33.1:61767 (ESTABLISHED)
goromdb 28826 vagrant 97u IPv6 1199616 0t0 TCP 192.168.33.10:11211->192.168.33.1:61768 (ESTABLISHED)
goromdb 28826 vagrant 98u IPv6 1199723 0t0 TCP 192.168.33.10:11211->192.168.33.1:61832 (ESTABLISHED)
goromdb 28826 vagrant 99u IPv6 1199617 0t0 TCP 192.168.33.10:11211->192.168.33.1:61769 (ESTABLISHED)
goromdb 28826 vagrant 100u IPv6 1199724 0t0 TCP 192.168.33.10:11211->192.168.33.1:61833 (ESTABLISHED)
goromdb 28826 vagrant 101u IPv6 1199725 0t0 TCP 192.168.33.10:11211->192.168.33.1:61834 (ESTABLISHED)
goromdb 28826 vagrant 102u IPv6 1199726 0t0 TCP 192.168.33.10:11211->192.168.33.1:61835 (ESTABLISHED)
goromdb 28826 vagrant 103u IPv6 1199618 0t0 TCP 192.168.33.10:11211->192.168.33.1:61770 (ESTABLISHED)
goromdb 28826 vagrant 104u IPv6 1199727 0t0 TCP 192.168.33.10:11211->192.168.33.1:61836 (ESTABLISHED)
goromdb 28826 vagrant 105u IPv6 1199728 0t0 TCP 192.168.33.10:11211->192.168.33.1:61837 (ESTABLISHED)
goromdb 28826 vagrant 109u IPv6 1199622 0t0 TCP 192.168.33.10:11211->192.168.33.1:61774 (ESTABLISHED)
goromdb 28826 vagrant 117u IPv6 1199630 0t0 TCP 192.168.33.10:11211->192.168.33.1:61782 (ESTABLISHED)
goromdb 28826 vagrant 124u IPv6 1199637 0t0 TCP 192.168.33.10:11211->192.168.33.1:61789 (ESTABLISHED)
goromdb 28826 vagrant 127u IPv6 1199729 0t0 TCP 192.168.33.10:11211->192.168.33.1:61838 (ESTABLISHED)
goromdb 28826 vagrant 129u IPv6 1199730 0t0 TCP 192.168.33.10:11211->192.168.33.1:61840 (ESTABLISHED)
goromdb 28826 vagrant 130u IPv6 1199731 0t0 TCP 192.168.33.10:11211->192.168.33.1:61839 (ESTABLISHED)
goromdb 28826 vagrant 131u IPv6 1199732 0t0 TCP 192.168.33.10:11211->192.168.33.1:61841 (ESTABLISHED)
goromdb 28826 vagrant 132u IPv6 1199733 0t0 TCP 192.168.33.10:11211->192.168.33.1:61842 (ESTABLISHED)
goromdb 28826 vagrant 133u IPv6 1199734 0t0 TCP 192.168.33.10:11211->192.168.33.1:61843 (ESTABLISHED)
goromdb 28826 vagrant 134u IPv6 1199735 0t0 TCP 192.168.33.10:11211->192.168.33.1:61844 (ESTABLISHED)
goromdb 28826 vagrant 135u IPv6 1199736 0t0 TCP 192.168.33.10:11211->192.168.33.1:61845 (ESTABLISHED)
goromdb 28826 vagrant 136u IPv6 1199737 0t0 TCP 192.168.33.10:11211->192.168.33.1:61846 (ESTABLISHED)
goromdb 28826 vagrant 137u IPv6 1199738 0t0 TCP 192.168.33.10:11211->192.168.33.1:61847 (ESTABLISHED)
goromdb 28826 vagrant 138u IPv6 1199739 0t0 TCP 192.168.33.10:11211->192.168.33.1:61848 (ESTABLISHED)
goromdb 28826 vagrant 139u IPv6 1199740 0t0 TCP 192.168.33.10:11211->192.168.33.1:61849 (ESTABLISHED)
goromdb 28826 vagrant 140u IPv6 1199741 0t0 TCP 192.168.33.10:11211->192.168.33.1:61850 (ESTABLISHED)
goromdb 28826 vagrant 141u IPv6 1199742 0t0 TCP 192.168.33.10:11211->192.168.33.1:61851 (ESTABLISHED)
running server with radix handler and bdb for over 1 hour, 100 concurrent client connections, and db reloading every second.
I see no problems so far.
to fix #62, change database handling as followings:
atomic.Value
to make sure non-atomic pointer operations to be in syncmutex.Lock()
, notmutex.RLock()
, onbdb.Get()
operation to make sure only 1Get
occurs at a time