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

Memcached集群性能测试有感:请使用尽可能高配置的性能测试服务器

阅读更多

Memcached集群性能测试有感:请使用尽可能高配置的性能测试服务器

2010年04月06日

  "应使用尽可能好配置的性能测试服务器",这句话初看就是句费话!谁不想用好配置的机器当服务器呢?

  在最近一次Memcached集群性能测试中,由于资源紧张,使用了配置相对差的几台服务器作了集群,而且这几台服务器配置还不全一样。

  遇到一个非常诡异的现象,在进行稳定性测试过程中缓存命中率一步下降。单台服务器每秒事务数可超过2万,五台集群在一起,反而3万都达不到,而且出现大量连接超时的现象。百思不得其解。 每每遇到性能问题,分析常是最头疼的事情。上述现象,表现上看起来是应用程序稳定性不好,但为什么单台性能那么好,而集群5台反而差呢?其中一定有蹊跷。

  首先我开始怀疑我的测试过程是否有错误或遗漏,但是翻查了过往的测试结果,过去的测试数据中确实没有未命中的情况。

  加大压力后,开始出现大量"连接超时"、"连接被重置"的错误。然后观察了一下服务端的Tcp连接状态,发现当连接数超过3000时后Syn_recv状态逐步变多。过程中状态变多,说明服务器开始出现性能瓶颈。此时点击率还不到3000,这绝不是服务器的最大处理能力! 开始做减法,逐步排查。首先排除连接数的干扰,使用尽量少的虚拟用户来测试服务器的最大处理能力。果然,服务器点击率达近1万。那么就是连接数导致性能下降的!Cpu使用率不高、内存大量剩余、磁盘IO也没有瓶颈。这下就不能不怀疑Java了,它在做什么呢?

  然后用Jconsole监控了一下JbossWeb这一看我就明白了,连接就占用了内存,内存耗尽Java频繁的GC,所以就导致连接超时、连接被重置。

  随之给Java分配足够的内存,可是加大压力,还是会出现一些连接超时和连接重置的问题,但量要明显减少。为彻底查清问题,再做减法。不测程序,直接测静态页面。发现静态页面也存在连接超时、连接被重置的现象。CPU使用率接近80%,软中断占用CPU不断升高,连接数不断添加,后续出现大量Time_wait。明显这表示已经达到硬件的最高性能了。

分享到:
评论

相关推荐

    Memcached 服务器集群安装配置和测试

    Memcached 服务器集群安装配置和测试 Memcached 是一个自由开源的、高性能的、分布式的内存对象缓存系统。它可以将数据库查询结果、页面内容、sessions 等临时数据缓存在内存中,从而加速网站的访问速度。下面是 ...

    memcached集群linux搭建

    总结来说,构建Memcached集群并在Linux上实现淘宝月光宝盒架构是一项涉及多个步骤的任务,包括安装Memcached、配置集群、设置客户端以及部署和管理MoonBox架构。理解这些概念和技术对于优化大规模Web应用的性能至关...

    tomcat + apache + memcached 集群jar包

    7. **监控和维护**:使用监控工具观察集群的运行状态,定期检查和更新配置,以应对可能出现的性能问题或故障。 这个集群配置可以为大型Web应用提供高性能、高可用性和可扩展性。然而,实现这样的系统需要对各个组件...

    tomcat与memcached集群jar

    2. **可能的配置文件**:如XML配置文件,定义了Tomcat如何与Memcached集群通信,包括服务器地址、端口、缓存策略等。 3. **示例代码**:可能包含演示如何在Tomcat应用中集成Memcached的Java代码片段。 4. **文档**:...

    Memcached集群搭建

    本文将详细介绍如何在多个服务器上搭建一个Memcached集群,以实现数据的高可用性和负载均衡。 ### 一、安装Memcached 在开始搭建集群之前,首先需要在所有参与节点上安装Memcached。对于Linux系统,通常使用包管理...

    高性能服务器集群的架设及优化笔记.docx

    高性能服务器集群的架设及优化笔记 服务器集群架设是指将多个服务器组合成一个集群,以提高服务器的性能和可扩展性。在高流量网站中,服务器集群架设是必不可少的。下面是服务器集群架设的笔记,涵盖了架设、优化和...

    Nginx+Tomcat+Memcached共享session集群配置

    ### Nginx+Tomcat+Memcached 共享 Session 集群配置 #### 一、概述 在大型分布式系统中,为了实现高可用性和负载均衡,常常会使用 Nginx 作为反向代理服务器来分发请求到后端多个 Tomcat 实例上。然而,传统的基于...

    memcached&redis;性能测试

    memcached,redis性能测试,内存缓存系统的性能测试;

    tomcat6 Memcached集群

    而Memcached则是一款高性能、分布式的内存对象缓存系统,常用于缓解数据库负载,提高网站性能。当多个Tomcat实例共同构成一个集群时,如何有效地实现Session数据的共享成为一个挑战。本篇文章将深入探讨如何将Tomcat...

    memcached(五)单台服务器部署单线程性能测试

    “memcached(五)单台服务器部署单线程性能测试”这个标题表明我们将探讨的是关于memcached的第五个主题,主要聚焦在如何在一台服务器上部署并测试其单线程的性能。memcached是一款开源的、高性能、分布式内存对象...

    Memcached原理和使用详解.docx

    Memcached是一种高性能的分布式内存缓存服务器,主要用于减少数据库查询次数,提高动态Web应用的速度和可扩展性。其开发团队来自LiveJournal,官网为http://www.danga.com/memcached/。 Memcached的主要特点包括: ...

    tomcat7 memcached集群

    标题中的“tomcat7 memcached集群”指的是在Tomcat 7这个流行的Java应用服务器中,利用memcached构建的分布式缓存系统,以实现session共享。Session共享是Web应用程序中的一个关键概念,它允许用户在不同服务器之间...

    Tomcat7-Memcached集群Session所需jar包

    它利用Memcached这个高性能、分布式的内存对象缓存系统来存储和管理用户的Session数据,从而实现Session在不同服务器之间的共享。以下是关于这个主题的详细知识: 1. **Memcached简介** Memcached是一款开源的、高...

    tomcat使用memcached集群session共享(转载并修改)

    6. **测试**:现在,当用户在任何一台 Tomcat 服务器上创建 Session,Session 数据都会被复制到 Memcached 集群,并可供其他服务器访问。可以通过观察 Memcached 客户端工具或者监控日志来验证 Session 是否成功共享...

    memcached服务器端安装程序

    Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载。它通过在内存中存储数据来提供快速的数据访问,从而提高应用程序的性能。本安装程序"memcached-win32-1.4.4-54-g136cb...

    Nginx+Tomcat+Memcached集群Session共享

    标题 "Nginx+Tomcat+Memcached集群Session共享" 描述了在分布式环境中如何通过Nginx反向代理服务器、Tomcat应用服务器集群以及Memcached缓存系统来实现Session的共享。这是一个常见的高可用性和负载均衡解决方案。...

    Memcached 内存分析、调优、集群

    ### Memcached内存分析、调优、集群 #### 1. Memcached背景 Memcached是一款高性能的分布式内存对象缓存系统,旨在通过减轻数据库负载来加速动态Web应用的响应速度。它通过在内存中缓存数据和对象来减少读取数据库...

    搭建Memcached缓存服务器1

    Memcached服务器是指使用Memcached缓存服务器来提高服务器的性能和可扩展性。Memcached服务器可以将频繁访问的数据存储在内存中,以提高服务器的响应速度和reduce数据库的负载。 部分内容解释 1. 安装Memcached...

    Nginx+Tomcat+Memcached集群

    在构建高性能、高可用性的Web服务时,"Nginx+Tomcat+Memcached集群"是一种常见的架构模式。这种架构利用了Nginx的反向代理和负载均衡能力,Tomcat作为Java应用服务器处理业务逻辑,而Memcached作为分布式内存缓存...

Global site tag (gtag.js) - Google Analytics