рдбрд┐рд╕реНрдХ рдХреЛ рдбрдВрдк рдХрд┐рдпрд╛

рдореЗрдордХреИрд╢ рдПрдкреАрдЖрдИ рд╕рднреА рд▓реЛрдХрдкреНрд░рд┐рдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреИрд╢рд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЙрдкрдХрд░рдг рд╣реИред рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рдХреИрд╢рд┐рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рд╣реИред
рдореЗрдореНрдХреЗрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рдореБрдЭреЗ рдЬреЛ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реБрдИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд░рд╛рдЬреНрдп рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рдбрдВрдк рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рд╣реИред рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди рдпрд╛ рддреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреИрд╢ (рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдирд╛) рдирд╣реАрдВ рдереЗ, рдпрд╛ рд╕реНрдерд┐рд░ рдФрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рдереЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, "рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордиреЗ" рдХреА рдЗрдЪреНрдЫрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдмрд╕ рддреИрдпрд╛рд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддрд╛ рдерд╛ред

рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдХреНрдпреЛрдВ рдкрдбрд╝ рд╕рдХрддреА рд╣реИ


рдЖрдорддреМрд░ рдкрд░ рд▓рдЧрд╛рддрд╛рд░ рдХреИрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЬрд▓реНрджрдмрд╛рдЬреА рдореЗрдВ рдХреИрд╢ рд╕рд░реНрд╡рд░ рд╣рд┐рдЯреНрд░реЗрдЯ = 60% рдХреЗ рд╕рд╛рде рд░рд┐рдмреВрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╕реЗрд╡рд╛ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдмрдврд╝реЗ рд╣реБрдП рднрд╛рд░ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдЧреА, рддреЛ рдЗрд╕ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд╛рдВрдЯрд╛ рдФрд░ рдбрдВрдк


рдкреНрд░рд╕реНрддреБрдд рдХрд╛рдВрдЯрд╛, рдореЗрдордХреЗрдб-рдбреАрдбреА , рд╕рдВрдХреЗрддрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ - рдбрд┐рд╕реНрдХ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧ рд╕рд░рд▓ рд╣реИ - рдХреЗрд╡рд▓ -F рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рдВрд╢реЛрдзрд┐рдд рдореЗрдордХреНрд▓реЗрдб рдЪрд▓рд╛рдПрдВ:

memcached -F /tmp/memcache.dump -m 64 -p 11211 -l 127.0.0.1 

рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░, рдлрд╝рд╛рдЗрд▓ /tmp/memcache.dump рд▓реЛрдб рд╣реЛрдЧреА (рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ)ред рд╡рд╣рд╛рдВ рдПрдХ рдирдпрд╛ рдбрдВрдк рднреА рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдбрдВрдк рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рджрд┐рдирдЪрд░реНрдпрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрдиред рдЗрд╕реЗ рдмрд╛рд╣рд░ рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рджреАрдХреНрд╖рд╛ - рд╕рдВрдХреЗрдд SIGUSR2 рджреНрд╡рд╛рд░рд╛ред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдбрдВрдк рдкрд╣рд▓реЗ .tmp рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦреЗрдЧрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА, рдпрджрд┐ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рдлрд▓ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдбрдВрдк рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ



* - рдореЗрдордХрд╛рдЯреЗрдб рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рдЯрд╛рддрд╛ рд╣реИ
рдЬреНрдЮрд╛рдкрди рддрдерд╛рдХрдерд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ "рдЖрд▓рд╕реА" рд╣рдЯрд╛рдирд╛ред рдХреЗрд╡рд▓ рд╕реНрдкрд╖реНрдЯ рд▓реЗрдирджреЗрди рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рдХреИрд╢ рдХреЛ рд╢реВрдиреНрдп рдХрд░рдирд╛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ( flush_all рдХрдорд╛рдВрдб): рдХреЗрд╡рд▓ рдЪреЗрдХ рдЪреЗрдХ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╕реНрдкрд╖реНрдЯ рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рдж рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рддреБрд░рдВрдд рдбреЗрдЯрд╛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдкрд░реНрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдореЗрдордХреНрдЪреНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдП рдЬреЛ рдЗрд╕рдореЗрдВ "рдСрдЯреЛрдЬреЗрдирд░реЗрдЯреЗрдб" рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ

 use Cache::Memcached; $memd = new Cache::Memcached { 'servers' => [ "127.0.0.1:11211" ] }; $| = 1; for (my $i = 0; $i <= 10000; $i++) { $memd->set( "key_$i", "x"x100 . " [$i]" ); # my $val = $memd->get( "xkey_$i"); if ($i % 1000 == 0) { print "\r$i..."; } } 

рд╣рдо рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрдореЗрдХреИрд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХрд░рддреЗ рд╣реИрдВ

 $ ./memcached -P /tmp/memcached.pid -F /tmp/memcached.dump -m 128 -p 11211 -l 127.0.0.1 #   $ perl ./load.pl #   $ kill -USR2 `cat /tmp/memcached.pid` 1Mb dumped: 10001 items (0 expired during dump, 0 nuked by flush) Moving temprorary /tmp/memcached.dump.tmp -> /tmp/memcached.dump 

рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 10001 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ /tmp/memcached.dump рд╣реИред рдПрдХ рд╣реА-рдПрдл рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдХреБрдВрдЬреА # 1 рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ:

 $ ./memcached -P /tmp/memcached.pid -F /tmp/memcached.dump -m 128 -p 11211 -l 127.0.0.1 $ echo get key_1 | nc 127.0.0.1 11211 VALUE key_1 0 104 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [1] END 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рдордЧреНрд░реА рдХреЛ рдбрдВрдк рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ рдореЗрдореНрдХреЗрдЪ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рд╕рдВрдЪрд╛рд░ рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдбрдВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╡рд┐рд╢реЗрд╖ рд╕реБрд╡рд┐рдзрд╛ рд╡рд╛рд▓реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред

Source: https://habr.com/ru/post/In166781/


All Articles