CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Tue, 19 Aug 2025 17:08:28 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100330195124
location: https://web.archive.org/web/20100330195124/https://github.com/northscale/moxi
server-timing: captures_list;dur=0.519108, exclusion.robots;dur=0.016697, exclusion.robots.policy;dur=0.008445, esindex;dur=0.011614, cdx.remote;dur=14.449196, LoadShardBlock;dur=767.559757, PetaboxLoader3.datanode;dur=141.186543, PetaboxLoader3.resolve;dur=418.570830
x-app-server: wwwb-app214
x-ts: 302
x-tr: 806
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app214; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Tue, 19 Aug 2025 17:08:29 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Tue, 30 Mar 2010 19:51:24 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "7e3cf3ea0a8a1b57d96cfbd57020b841"
x-archive-orig-x-runtime: 147ms
x-archive-orig-content-length: 76337
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Tue, 30 Mar 2010 19:51:24 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Wed, 23 Sep 2009 22:39:22 GMT", ; rel="prev memento"; datetime="Wed, 23 Sep 2009 22:39:22 GMT", ; rel="memento"; datetime="Tue, 30 Mar 2010 19:51:24 GMT", ; rel="last memento"; datetime="Tue, 30 Mar 2010 19:51:24 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 51_15_20100330171649_crawl103-c/51_15_20100330195121_crawl101.arc.gz
server-timing: captures_list;dur=6.434819, exclusion.robots;dur=0.026498, exclusion.robots.policy;dur=0.011591, esindex;dur=0.012875, cdx.remote;dur=14.508232, LoadShardBlock;dur=1167.674066, PetaboxLoader3.resolve;dur=964.025700, PetaboxLoader3.datanode;dur=283.664588, load_resource;dur=231.073327
x-app-server: wwwb-app214
x-ts: 200
x-tr: 1565
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
northscale's moxi at master - GitHub
northscale / moxi forked from steveyen/moxi
- Source
- Commits
- Network (7)
- Downloads (4)
- Wiki (1)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
moxi /
README
moxi - a memcached proxy with energy and pep Dependencies: -- libevent, https://www.monkey.org/~provos/libevent/ (libevent-dev) -- libmemcached, https://tangent.org/552/libmemcached.html To compile moxi, after you got the dependencies: ./autogen.sh ./configure make For example, if libevent is installed in /opt/local, you'd do... ./autogen.sh ./configure --with-libevent=/opt/local make Using moxi: In moxi terminology, "upstream" are the memcached clients, and "downstream" are the memcached servers. moxi -z <port=<memcached_host:memcached_port(,*)>> moxi will listen on the given port and accept connections from upstream memcached clients. It will forward requests to downstream memcached servers running on memcached_host:memcached_port. For example... moxi -z 11211=my_memcached_server:11222 Above, moxi will listen on port 11211 and forward requests to the memcached running on my_memcached_server that's listening on port 11222. You can list more than one memcached_host:memcached_port, separated by commas. For example... moxi -z 11211=memcached_1:11211,memcached_2:11211 The default downstream port is 11211, so you can also just use... moxi -z 11211=memcached_1,memcached_2 If you have some memcached servers running on the same server, but on different ports, you can put moxi in front of them with something like... moxi -z 11211=server:11222,server:11233 To get more command line usage info: moxi -h Tests: # To test that moxi still behaves like memcached # and passes all the tests that memcached passes... # make test # To test moxi in a simple proxy topology of... # client <-> moxi <-> memcached # ./t/moxi.pl # To test moxi in a chained proxy topology of... # client <-> moxi <-> moxi <-> moxi <-> memcached # ./t/moxi.pl chain # To test moxi in a fanout topology of... # client <---> moxi <---> memcached # |-> memcached # |-> memcached # |-> memcached # ./t/moxi.pl fanout # To test moxi in a fanout and back in again topology of... # client <---> moxi <---> moxi <-> memcached # |-> moxi <-| # |-> moxi <-| # |-> moxi <-| # ./t/moxi.pl fanoutin # To test moxi proxy cases... # ./moxi -z 11333=localhost:11311 -t 1 python t/moxi_mock.py More notes: If using Linux, you need a kernel with epoll. Sure, libevent will work with normal select, but it sucks. epoll isn't in Linux 2.4 yet, but there's a backport at: https://www.xmailserver.org/linux-patches/nio-improve.html You want the epoll-lt patch (level-triggered). If you're using MacOS, you'll want libevent 1.1 or higher to deal with a kqueue bug. Also, be warned that the -k (mlockall) option to memcached might be dangerous when using a large cache. Just make sure the memcached machines don't swap. memcached does non-blocking network I/O, but not disk. (it should never go to disk, or you've lost the whole point of it) The memcached website is at: https://www.danga.com/memcached/