- 浏览: 337634 次
- 性别:
- 来自: 北京
最新评论
-
hoey168:
请问楼主,ICE 客户端连接多个服务端,tcp -h 172. ...
ZeroC ICE之旅------负载均衡及容错 -
iOracleSun:
makeC++SharedLib 增加 -G参数即可链接成功 ...
AIX apache module问题 -
fanyonglu:
不错,讲的很细,学习中
ZeroC ICE之旅------java -
click_guobin:
...
我在深圳,每月收入850元,怎么也花不完,晒一晒我是怎么开销和投资的(zz) -
hanyu332:
引用修改%apache%/conf/httpd.conf修改为 ...
awstats日志分析小结(1)
New Features
Binary Protocol
A new feature that brings new features. We now have goodness like CAS-everywhere (e.g. delete), silent, but verifiable mutation commands, and many other wonders.
Note that the original protocol is not deprecated. It will be supported indefinitely, although some new features may only be available in the binary protocol.
Client Availability
Many clients for the binary protocol are available.
C
libmemcached supports just about anything you can do with a memcached protocol and is the foundation for many clients in many different languages (which you can find linked from the project page).
Project page: http://tangent.org/552/libmemcached.html
Java
spymemcached has very good text and binary protocol support over IPv4 and IPv6 with a quite comprehensive test suite.
Project page: http://code.google.com/p/spymemcached/
Protocol Spec
NIH problem? Go write your own client. :)
http://cloud.github.com/downloads/memcached/memcached/protocol-binary.txt
Performance
Lots of effort has gone into increasing performance.
There is no longer a build-time distinction between a single-threaded and multi-threaded memcached. If you want a single-threaded memcached, ask for one thread (though there'll still be utility threads and other such things in the background). This change lets us focus on a future where multiple cores can be saturated for servicing requests.
Facebook-inspired contention reduction with per-thread stat collection and the Facebook connection dispatch and thread starvation prevention contributions helped our scalability.
Lock analysis also showed us that we had quite a bit of contention on hash table expansion which has been moved into its own thread, greatly improving the scalability on multicore hardware.
A variety of smaller things also shook out of performance testing and analysis.
There's also a memory optimization for users who don't actually make use of CAS. Running memcached with -C disables the use of CAS resulting in a savings of about eight bytes per item. If you have big caches, and don't use CAS, this can lead to a considerable savings.
Stats
There are several new stats and some new ways to look at older stats.
New Stats
stats settings
Show all current server settings (useful for troubleshooting as well as internal verification).
Delete
The global stats now contain statistics on deletion.
delete_hits refers to the number of times a deletion command was issued which resulted in a modification of the cache while delete_misses refers to the number of times a deletion command was issued which had no effect due to a key mismatch.
Incr/Decr
Incr and decr each have a pair of stats showing when a successful/unsuccessful incr occurred. incr_hits, incr_misses, decr_hits, and decr_misses show where such mutations worked and where they failed to find an existing object to mutate.
CAS
CAS stats are tracked in three different ways:
* cas_hits
Number of attempts to CAS in a new value that worked.
* cas_misses
Number of attempts to CAS in a value where the key was not found.
* cas_badval
Number of attempts to CAS in a value where the CAS failed due to the object changing between the gets and the update.
slab class evicted time
Per slab class, you can now see how recently accessed the most recent evicted data was. This is a useful gauge to determine eviction velocity on a slab so you can know whether evictions are healthy or if you've got a problem.
Connection yield counts
The -R option allows you to limit how many requests are handled in a single trip through the network state machine. The conn_yields stat reports how many times this has occurred.
This is most useful when you have very high rates of operations from a single client which seems to be hogging server resources unfairly, such as extremely large multi-get operations. We do not expect this to be a common situation, but this stat can help diagnose such issues if they should occur.
More Granular Stats
Where possible, stats are now tracked individually by slab class. The following stats are available on a per-slab-class basis (via "stats slabs"):
* get_hits
* cmd_set
* delete_hits
* incr_hits
* decr_hits
* cas_hits
* cas_badval
(misses are obviously not available as they refer to a non-existent item)
Removed stats
"stats malloc" and "stats maps" have been removed.
If you depended on these commands for anything, please let us know so we may suggest alternatives for you.
Misc
* More tests
* More/better documentation
* Code cleanup
Bug Fixes
* Build fixes on ubuntu (gcc and icc) and FreeBSD
* bad interaction with cas + incr ( bug 15 )
* setuid failures are reported properly at daemonization time
* decr overflow causing unnecessary truncation to 0 ( bug 21 )
* failure to bind on Linux with no network (i.e. laptop dev)
* some memcached-tool cleanup
* Alignment bug in binary stats ( bug26 )
* Occasional buffer overflow in stats ( bug27 )
* Try to recycle memory more aggressively. ( bug14 )
* incr validation ( bug31 )
* 64-bit incr/decr delta fixes ( bug21 )
* ascii UDP set ( bug36 )
* stats slabs' used chunks ( bug29 )
* stats reset should reset item stats, eviction counters, etc... ( bug22 )
* Fix all stat buffer management
* Fixes for -R handling ( bug61 )
* GCC 4.4 fixes ( bug60 )
Development Info
We've added a bunch of tests and new code coverage reports.
All included code in this release has been tested against the following platforms (using the in-tree test suite):
* ubuntu 8.10 (64-bit, both gcc and icc)
* ubuntu 8.04 (32-bit)
* ubuntu 9.10 (64-bit, gcc 4.4)
* OS X 10.5 (ppc and intel)
* OpenSolaris 5.11 x86 (with and without dtrace)
* Solaris 10 sparc (with and without dtrace)
* FreeBSD 7 x86
http://memcached.googlecode.com/files/memcached-1.4.0.tar.gz
发表评论
-
Redis 2.2.0 RC1 is out
2010-12-17 10:15 1224Redis 2.2.0 RC1 新特性:很多都是我所期待的; ... -
iBATIS 3 for Java Released (BETA 1)
2009-08-09 13:52 1389A month ago iBATIS turned 7 yea ... -
nginx-0.7.60
2009-06-16 09:01 1474Changes with nginx 0.7.60 ... -
nginx-0.7.55
2009-05-06 18:47 1140Changes with nginx 0.7.55 ... -
Open Source SSL Acceleration
2009-04-17 11:15 1737SSL acceleration is a techniq ... -
March 2009 Web Server Survey
2009-04-02 12:49 1027In the March 2009 survey, we re ... -
nginx 缓存功能
2009-03-26 16:02 4420随着 nginx-0.7.44的发布,nginx的c ... -
Memcached Beta 1.3.2 Released
2009-03-12 16:21 1207We've just released memcached ... -
nginx 0.7.40
2009-03-09 17:09 1038Changes with nginx 0.7.40 ... -
February 2009 Web Server Survey
2009-03-02 09:19 1072In the February 2009 survey we ... -
Handle 1 Billion Events Per Day Using a Memory Gri
2009-02-17 10:41 1047Moshe Kaplan of RockeTier shows ... -
Scaling Digg and Other Web Applications
2009-02-16 11:36 1099Joe Stump, Lead Architect at D ... -
MySpace Architecture
2009-02-13 10:39 1246Information Sources Presenta ... -
Cloud Relationship Model
2009-01-20 09:53 1146Hiya All, welcome to my first g ... -
January 2009 Web Server Survey
2009-01-19 15:33 1097In the January 2009 survey we ... -
December 2008 Web Server Survey
2008-12-25 17:47 1005In the December 2008 survey, ... -
Apache 2.2.11
2008-12-15 13:24 1418Changes with Apache 2.2.11 * ... -
nginx 0.7.26
2008-12-09 12:05 1073Changes with nginx 0.7.26 ... -
Python 3.0 final released
2008-12-04 10:47 1372We are pleased to announce the ... -
nginx-0.7.23
2008-11-28 08:38 908Changes with nginx 0.7.23 ...
相关推荐
本文将深入探讨memcached 1.4.0 release candidate 1 (rc1)版本的源代码,解析其核心机制,并分享相关的应用实践。 一、memcached概述 Memcached设计的目标是简化数据存储,提供快速、简单但有效的缓存解决方案。...
java_memcached-release_2.0.1.jar。jdk5版本适用。使用log4j。
标题提及了两个压缩包文件:`memcached-1.2.1-win32.zip` 和 `java_memcached-release_1.6.zip`。这表明我们正在处理的是与Memcached相关的开发资源,一个是Windows上的Memcached服务器版本1.2.1,另一个是Java...
在本例中,我们关注的是`java_memcached-release_2.5.1.jar`这个文件,这是一个包含了Java Memcached客户端库的JAR(Java Archive)包,版本号为2.5.1。 Java Memcached客户端库由Danga Interactive开发,该公司是...
java_memcached-release_2.6.2.jar java缓存工具 memcached
这个“java_memcached-release_2.6.6.rar”压缩包文件包含了用于与Memcached服务器通信的Java库,使得Java开发者能够便捷地集成Memcached到他们的应用中。 Memcached是一个分布式内存对象缓存系统,最初由Danga ...
这个`java_memcached-release_2.6.3.rar`压缩包包含了用于Java客户端开发所需的全部依赖库,使得开发者能够轻松地在Java应用中集成Memcached功能。 1. **Memcached**:Memcached是一个高性能、分布式的内存对象缓存...
memcache客户端jar包: 1,java_memcached-release_2.6.6.jar 2,commons-pool-1.5.6.jar 3,slf4j-api-1.6.1.jar 4,slf4j-simple-1.6.1.jar
在标题和描述中提到的`java_memcached-release_2.6.6.jar`是这个库的特定版本,它包含了实现Memcached协议并与之通信所需的所有Java类和方法。这个版本可能是对早期版本的更新,可能包括性能改进、新功能或错误修复...
Memcached-release_2.6.5 jar 包是该服务的Java实现版本,允许Java开发者在他们的应用程序中集成Memcached功能。 首先,让我们详细了解一下 Memcached。Memcached 的设计目标是简单、快速且轻量级,它通过在内存中...
Memcached Cache现在已经被大家广泛使用,但是千万不要认为对Cache的操作是低损耗的,要知道这类集中式Cache对Socket连接数(会牵涉到linux操作系统文件句柄可用数),带宽,网络IO都是有要求的,有要求就意味着会有...
在Java Memcached-release 1.3.2版本中,特别强调了对JDK 1.4的支持,这是由于一些老旧系统仍然依赖于这个较早的Java版本。 在Java Memcached 1.3.2的演示工程中,我们通常会看到以下关键知识点: 1. **Java与...
2. **java_memcached-release_2.6.3.jar**:这是Java Memcached客户端的核心库文件,包含了所有必要的类和方法,使得Java应用能够与Memcached服务器通信。这个库提供了API,让开发者可以方便地进行数据的存取、删除...
最新java_memcached-release_2.5.1.jar包
2. **java_memcached-release_2.6.6.jar**:这应该是Java语言的Memcached客户端库,用于与Memcached服务器通信,执行添加、获取、删除等操作。 3. **slf4j-api-1.6.1.jar** 和 **slf4j-simple-1.6.1.jar**:SLF4J...
在这个`java_memcached-release_2.6.6`版本中,我们关注的是Java对Memcached的最新支持。 1. **Java Memcached客户端库**: Java Memcached客户端库允许Java开发者在他们的应用程序中集成Memcached服务。这个库...
2. `java_memcached-release_2.5.0.jar`:这是核心的Java Memcached库文件,包含了所有与Memcached通信的Java类和方法。开发者可以直接引用这个JAR文件,在自己的项目中实现对Memcached的操作。 3. `.project`:这...