magent编译及常见错误解决办法

# 编译magent

cd /home/lnmp/src
mkdir magent
cd magent/
wget http://memagent.googlecode.com/files/magent-0.5.tar.gz
tar zxvf magent-0.5.tar.gz
/sbin/ldconfig && sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
make
mkdir -p /usr/local/webserver/magent/bin
cp magent /usr/local/webserver/magent/bin/magent
cd ../

错误1:

gcc -lrt -Wall -g -O2 -I/usr/local/include -m64 -c -o magent.o magent.c
magent.c: In function ‘writev_list’:
magent.c:729: error: ‘SSIZE_MAX’ undeclared (first use in this function)
magent.c:729: error: (Each undeclared identifier is reported only once
magent.c:729: error: for each function it appears in.)
make: *** [magent.o] Error 1

解决办法:

vim ketama.h

在文件头号部加入

#ifndef SSIZE_MAX
#define SSIZE_MAX     32767
#endif

然后再make即可.

相关教程:

memcached 集群单点故障解决方案:http://blog.haohtml.com/archives/12145

 

Memcached代理软件 magent

magent是一款开源的Memcached代理服务器软件。
命令参数:

-h this message
-u uid
-g gid
-p port, default is 11211. (0 to disable tcp support)
-s ip:port, set memcached server ip and port
-b ip:port, set backup memcached server ip and port
-l ip, local bind ip address, default is 0.0.0.0
-n number, set max connections, default is 4096
-D don't go to background
-k use ketama key allocation algorithm
-f file, unix socket path to listen on. default is off
-i number, max keep alive connections for one memcached server, default is 20
-v verbose

使用方法:

magent -s 10.1.2.1 -s 10.1.2.2:11211 -b 10.1.2.3:14000

另外有一个java版的memcache session manager的管理软件.主要用在tomcat的.https://code.google.com/p/memcached-session-manager/

另外还有一个[转]Twemproxy——针对MemCached与Redis的代理

memcached 集群单点故障解决方案

magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/

一、安装步骤:
1、编译安装libevent:

wget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz
tar zxvf libevent-1.4.9-stable.tar.gz
cd libevent-1.4.9-stable/
./configure --prefix=/usr
make && make install
cd ../

2、编译安装Memcached:

wget http://danga.com/memcached/dist/memcached-1.2.6.tar.gz
tar zxvf memcached-1.2.6.tar.gz
cd memcached-1.2.6/
./configure --with-libevent=/usr
make && make install
cd ../

3、编译安装magent: Continue reading

由浅入深理解索引的实现

00 – 背景知识

- B-Tree & B+Tree

http://en.wikipedia.org/wiki/B%2B_tree
http://en.wikipedia.org/wiki/B-tree

- 折半查找(Binary Search)

http://en.wikipedia.org/wiki/Binary_search_algorithm

- 数据库的性能问题

A. 磁盘IO性能非常低,严重的影响数据库系统的性能。
B. 磁盘顺序读写比随机读写的性能高很多。

- 数据的基本存储结构

A. 磁盘空间被划分为许多大小相同的块(Block)或者页(Page).
B. 一个表的这些数据块以链表的方式串联在一起。
C. 数据是以行(Row)为单位一行一行的存放在磁盘上的块中,如图所示.
D. 在访问数据时,一次从磁盘中读出或者写入至少一个完整的Block。 Continue reading

varnish英文手册生词

当客户端请求相同的页面时.varnish只发送一个请求到后端(backend)机器,等后面返回数据信息的时候再copy多份

serve - 服务

plethora - 过多

encounter - 遇到

hopefully - 希望

Guru - 领袖

meditation - 冥想

relevant - 有关

probably - 可能

clue - 线索

ransaction - 交易 Continue reading

千万级架构设计诀窍

架构设计漫长路
最佳实践我来数
千万并发没问题
要点首推数据库

SQL语句要优化
索引创建有艺术
三大范式不可废
冗余字段难维护

查询过多怎么办
缓存使用是本固
频繁访问不用怕
每秒数千扛得住 Continue reading

如何构建千万用户级别后台数据库架构设计的思路

导读

关于如何构建千万级别用户的后台数据库架构话题,在ITPUB及CSDN论坛都有不少网友提问,新型问答网站知乎上也有人提问,并且顺带梳理了下思路,方便更多的技术朋友有章可循,整理一篇抛砖引玉性的文章。

一、技术朋友给出的背景资料

(1).     网站型应用,主要指:SNS社交网站、新闻门户型网站、邮件系统、SNS Game社交游戏、电子商务网站、即时通信IM等类型系统;

(2).     注册用户为千万级别,也即1KW注册用户以内; Continue reading