`
85977328
  • 浏览: 1898758 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

memcached(十四)memcached单次请求性能分析

 
阅读更多
试验环境和IP
服务器:10.10.64.83
客户端:10.10.64.82
配置
2颗Intel(R) Xeon(R) CPU  E5620  @ 2.40GHz

服务器启动参数
./memcached -d -m 1024 -p 11211 -P /tmp/memcached.pid -c 1024 -f 1.25 -n 80 -t 16

客户端代码
单线程循环一万次,然后计算每次的时间
package com.home.phl;

import net.rubyeye.xmemcached.MemcachedClient;
import net.rubyeye.xmemcached.MemcachedClientBuilder;
import net.rubyeye.xmemcached.XMemcachedClientBuilder;
import net.rubyeye.xmemcached.utils.AddrUtil;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Xmemcached(基于java nio)
 * @author piaohailin
 *
 */
public class Test {
    private static Logger logger = LoggerFactory.getLogger(Test.class);

    public static void main(String[] args) throws Exception {
        MemcachedClientBuilder builder = new XMemcachedClientBuilder(AddrUtil.getAddresses("10.10.66.83:11211"));
        MemcachedClient memcachedClient = builder.build();
        Object o = memcachedClient.set("key",0,123);
        memcachedClient.get("1");
        logger.info("start");
        for (int i = 0; i < 10000; i++) {
            memcachedClient.get("key");
        }
        logger.info("end");
        memcachedClient.shutdown();
    }
}



启动
java -cp my.jar:lib/* com.home.phl.Test
输出
2014-01-12 01:26:31:913[WARN]: XMemcachedClient use Text protocol
2014-01-12 01:26:31:949[INFO]: Creating 32 reactors...
2014-01-12 01:26:31:993[WARN]: The Controller started at localhost/127.0.0.1:0 ...
2014-01-12 01:26:32:019[WARN]: Add a session: 10.10.66.83:11211
2014-01-12 01:26:32:029[INFO]: start
2014-01-12 01:26:34:433[INFO]: end
2014-01-12 01:26:34:437[INFO]: Controller has been stopped.
2014-01-12 01:26:34:437[WARN]: Remove a session: 10.10.66.83:11211

硬件设备缓存访问速度
摘自网络,仅供参考




结论
经过多次试验,同网段的服务器间访问,平均1次请求在0.2毫秒左右,性能优越。
  • 大小: 38.6 KB
2
0
分享到:
评论

相关推荐

    memcached面试专题.pdf

    它的核心机制是两阶段哈希,这一机制使得Memcached能够高效地处理大量的并发请求。 1. **两阶段哈希** Memcached的工作原理基于一个大型的哈希表,其中存储着键值对, value&gt;。当客户端想要存储或检索数据时,首先...

    memcached面试专题及答案.pdf

    Memcached是一款高性能的分布式内存对象缓存系统,主要用于减轻数据库负载,通过缓存数据和对象来加速Web应用程序。它由Danga Interactive开发,用于提升动态网站的访问速度。 ### 工作原理 Memcached通过使用两...

    memcached_allocator_slab_langwan

    ### Memcached Slab 分配器及其 LRU 机制详解 #### 第一章 前言 本文档将详细介绍 memcached 的...通过理解 memcached 的 slab 分配器和 LRU 算法的工作原理,可以更好地配置和优化 memcached 在特定环境下的性能。

    Memcached 介绍文档

    Memcached是一种高性能、分布式内存对象缓存系统,其设计初衷是为了加速动态Web应用程序,通过减轻数据库负载来提高网站性能。Memcached在多个大型互联网公司如Facebook、Yahoo、Amazon、LiveJournal和Mixi等中得到...

    memcached 命令汇总

    - **conn_yields (64u)**:memcached 启动至今有多少次打开的连接因为内部请求数达到 `-R` 参数指定的限值,一个连接的操作主动放弃让给另一个连接。这部分理解起来比较复杂,具体可以参考 `-R` 参数的含义。 #####...

    Memcached get 命令

    Memcached 是一个高性能的分布式内存对象缓存系统,它被广泛应用于Web应用中,用于缓解数据库负载,提高网站性能。Memcached 的核心功能是通过键值对(key-value)存储和检索数据,其中 `get` 命令是用于获取缓存...

    php性能监测

    - **一次运行详情**: 分析单次请求的具体性能指标,如CPU使用、内存消耗等。 - **函数调用图**: 通过可视化的方式展现函数调用链路,帮助识别性能瓶颈。 - **火焰图**: 提供更直观的性能分布视图,有助于理解程序...

    .net webservice大数量时性能的提供

    12. **监控与调优**:使用性能分析工具(如Visual Studio的性能分析器)监控应用性能,找出瓶颈并针对性优化。 最后,持续测试和调整是提升性能的关键。在实际环境中模拟高并发和大数据量场景,通过A/B测试、压力...

    .NET中“顶一下”/“踩一下”单次操作的实现

    - 可以考虑使用缓存(如Redis或Memcached)来存储帖子的总赞和踩数,减少对数据库的直接访问,提高系统性能。 8. **数据分析**: - 定期统计和分析投票数据,可以帮助了解用户喜好,优化内容推荐,也可以作为数据...

    BeITMemcached源代码

    Memcached,作为一款广泛应用的高性能、分布式内存对象缓存系统,广泛应用于缓解数据库压力,提高Web应用性能。BeITMemcached是其在.NET平台上的C#实现,为开发者提供了便捷的接口来与Memcached服务器进行交互。本文...

    记Redis那坑人的HGETALL 1

    原因是Redis是单线程的,当它处理一个请求时,其他的请求只能等着。通常请求都会很快处理完,但是当我们使用HGETALL的时候,必须遍历每个字段来获取数据,这期间消耗的CPU资源和字段数成正比。 二、解决方案 为了...

    memcahe支持分布式

    需要注意的是,这种方法的效率较低,不适合在大规模生产环境中使用,因为它涉及到多次网络请求和数据解析。为了提高性能和可扩展性,通常会采用其他策略,例如定期将所有key备份到一个中心存储,或者使用更高效的...

    Python-FlaskLimiter是一个Flask的扩展库它可以根据访问者的IP限制其访问频率次数等

    例如,设置`limiter.limit("10/minute")`将允许每个IP每分钟最多10次请求。 2. **动态限速**:可以根据实际情况动态调整限制策略。例如,如果检测到服务器负载过高,可以临时降低允许的请求频率。 3. **白名单与黑...

    单点登陆实现(完全跨域、单点退出)

    单点登录(Single Sign-On,简称SSO)是一种在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的技术。在这个例子中,我们基于Spring MVC、Maven、WebService和Memcached来实现一个功能完善的...

    高性能分页源代码

    3. **负载均衡**:在高并发环境下,通过负载均衡技术分散请求,防止单点压力过大。 4. **异步处理**:对于耗时的分页操作,可以采用异步处理,让前端用户可以先看到页面,而数据在后台加载。 5. **分页参数处理**...

    如何设计秒杀系统 秒杀系统架构优化思路

    - JavaScript层面:通过JavaScript限制用户在一定时间内只能提交一次请求。 这样操作可以拦截掉大部分无用的重复请求,减少系统负载。 2. **站点层请求拦截与页面缓存** - 对于同一用户(UID),限制其访问...

    sso.zip_sso_sso java

    单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在这个"**sso.zip_sso_sso java**"压缩包中,我们可以看到是针对Java项目实现的...

    memcacheq-0.2.0.tar.gz

    4. 缓存更新:在更新数据库时,可以通过Memcacheq队列逐步更新,避免一次性全部刷新导致的性能下降。 总结,Memcacheq通过结合Memcached的高速缓存特性与队列管理,为开发者提供了一种高性能、易扩展的数据处理解决...

Global site tag (gtag.js) - Google Analytics