linux – EC2:定期性能问题,没有明显的资源争用
我们在Ubuntu 9.10 x64 xlarge Amazon EC2实例上运行LAMP memcached.该服务器每秒处理几百个请求,其中约60%是静态的,其余的都以某种方式与
mysql和/或memcached交互.该服务器遇到了两个可能相关的性能问题,并且已经证明难以诊断.除非另有说明,否则以下所有统计数据均已使用CloudWatch,munin或vmstat / iostat / top收集.
>第一个问题是每隔几分钟就会出现高流行率的常规尖峰,在此期间,大多数apache会在所有未挂起之前同时进行大约10-30秒的流程.在此期间没有增加的磁盘或网络负载,磁盘队列保持低电平,没有交换,等等. 例外情况是网络读取,它保持与以前一样高,表明服务器仍然像以前一样以高容量访问.如果我们在发生这种情况时尝试自己联系服务器,那么服务器速度非常慢,并且通常会在请求得到服务之前断开连接.应该注意的是,无论内存使用率或CPU利用率在任何时候都不是特别高,无论性能是否正在下降:CPU%很少超过10%,磁盘未满或拥塞.我们还没有能够在这些下降过程中收集交换性能的数据,但正在尝试这样做. 事实上,我们对可能导致这些神秘问题的想法缺乏认识,并且越来越担心这可能是EC2本身的问题(或错误).当我们的流量达到峰值时,似乎总是出现大量下降的事实(尽管,这并不意味着服务器接近于最大限度地利用其可用资源),这不仅仅是巧合. 所有MySQL数据库和日志都托管在EBS卷上,所有静态内容都托管在单独的不同EBS卷上. Apache服务每秒160-240次请求,每秒MySQL 180-200次查询,查询速度慢?0%,memcached命中率约为90%.负载平均值倾向于在3左右徘徊.禁用Apache访问日志记录以最小化磁盘访问. 解决方法
最有可能(如您所述,您发现了第二个问题的解决方案)这些问题是配置或基于其他问题. EC2 / EBS /任何云技术都不是其中的根源.这些是您在任何环境中遇到的问题,与迄今为止收到的答案相反.
此外 – 亚马逊确实提供SLA.有一些小的情况,尽管极少数情况下某些资源可能会引起争议.但是,考虑到您目前的使用情况,不太可能.我将继续对各种争论点进行诊断研究,并与亚马逊网络服务的技术团队进行对话.还要查看他们的论坛,因为那里通常有很多知识渊博的人.你可能知道这些论坛,但为了以防万一 – 请在这里查看:https://forums.aws.amazon.com/index.jspa 另外,从架构的角度来看,您是否考虑过在多个EC2实例之间分配此负载并进行负载平衡?这是一个应该解决其中一些问题的选项.另外,从您正在讨论的架构来看,如果您在一些稍微不那么强大的实例之间进行分配并分配工作,那么整体可能会更好.另一个优点是,如果您的网站/服务继续增长,您处于水平扩展而不是垂直扩展的良好位置,后者当然是有限的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |