Articles of 缩放

Memcached扩展策略

目前,我正在运行一个具有4个专用memcached服务器的生产环境,每个服务器都有48Gb的RAM(专用于memcache的42个)。 目前他们做得很好,但是stream量和内容都在增长,明年也一定会增长。 你对进一步扩展memcached的策略有什么想法? 你到现在为止做了什么: 你是否增加更多的内存,直到他们的全部容量 – 有效地加倍相同数量的盒子上的caching池? 或者是通过添加更多的相同的盒子和相同数量的RAM来水平缩放。 目前的机器肯定可以处理更多的内存,因为它们的CPU负载很低,唯一的瓶颈就是内存,但是我想知道分配caching不是一个更好的策略吗,使事情变得更加冗余,并且尽量减less对caching的影响丢失一个盒子(丢失48Gb的caching而不是96Gb)。 你将如何处理这个决定?

负载均衡的Drupal服务器:在服务器之间共享数据的好方法?

我试图得到如何创build一个负载平衡的Web服务器设置的概述。 设置实际的负载平衡器,并添加两个或更多的Web服务器似乎够公平。 但是,我不能决定什么是最好的文件设置。 Web服务器将运行一个CMS系统(在这个例子中是Drupal)。 用户上传的文件可能与内容有关,所有的networking服务器都应该可以访问这些文件。 现在,我只想拥有一个指定的文件服务器,并在每个Web服务器上安装一个文件目录,以便各种Web服务器可以访问这些“共享”文件。 但是,如果我们正在谈论4-5台服务器,这个解决scheme会是一个瓶颈吗? 我认为安装将通过SSH完成。 所有帮助高度赞赏! 更新(2013年1月15日) 我决定结合使用Csync2和Lsyncd。 然后,我设置了两台镜像服务器。 Lsyncd监听某些目录(及其子目录)中的更改,并调用Csync2,负责将文件同步到其他服务器。 如果您有兴趣了解更多信息,请参阅本教程 。

如何去扩展一个Web应用程序?

我主要是一个Web应用程序开发人员,对扩展/可伸缩性技术我不太了解。 我的应用程序是用Python编写的,使用Django; 一个相当标准的设置。 我目前使用Apache 2.2作为我的networking服务器,MySQL使用我的数据库服务器; 两个在同一个VPS上运行。 到目前为止,它基本上是一个原型,在任何时候只有15-30个并发用户。 所以我没有问题,但现在,因为我们将增加更多的用户,我们将有性能问题。 所以我的问题是如何去扩展我的networking应用程序? 我目前的计划如下: 现在我只有一个vps服务器运行,Apache + MySQL。 接下来,我打算添加另一个vps服务器,只运行MySQL,所以我将有一个networking服务器和一个数据库服务器。 接下来,我将添加memcache到networking服务器来caching数据,以减轻MySQL的负担。 接下来,另一个Web服务器为所有静态内容提供服务。 接下来,一个用于负载平衡的VPS服务器(nginx / varnish)将成为我的两个Web服务器,然后是db-server。 这听起来像一个可行的战略? 请引导我在这里。

如何在HAProxy负载平衡后水平缩放SSL终止?

我一直在环顾四周,似乎没有人试图按照我的方式来扩展SSLterminal,我很好奇为什么我的方法似乎很不寻常。 以下是我想要做的以及为什么: 10.0.1.1 10.0.1.2 – 10.0.1.5 —–+——–+—-+—-+—-+ | | | | | +–+–+ +-+-++-+-++-+-++-+-+ | LB1 | | A || B || C || D | +—–+ +—++—++—++—+ haproxy 1.5 haproxy 1.5 + tomcat tcp mode http mode 为什么这个疯狂的设置Internet -> HAProxy (tcp mode) -> HAProxy (http mode) -> Tomcat ? 用两个字来说:安全性和可扩展性 通过将SSLterminal卸载到运行HAProxy 1.5的Web后端(AD)和仅在回送接口上监听的Tomcat,我可以保证所有stream量都从客户端encryption到服务器,而不会从本地到networking的任何事件嗅探后端。 另外,随着SSL需求的增加,我可以简单地在负载均衡器后面增加新的(便宜的)后端服务器。 最后,它消除了将证书置于面向外部的LB上的需求,并且由于受到攻击的LB将不会有任何Pem或证书,从而增加了额外的安全性。 […]

AWS – 如何更快地向海外用户提供服务

我们在美国东部地区拥有依靠AWS的基础设施。 (EC2,CloudFront,RDS,ElastiCache) 我们现在有越来越多的亚太地区用户。 用户开始抱怨networking速度到我们的网站。 (请注意,我们已经在使用CloudFront来提供静态资产) 研究后的一些线索: 克隆亚太地区的一系列基础设施(如JP) $$关心 一个快速testing发现的事实:我们之间的等待时间约为160-180ms。 在我们的情况下不是真的可行。 虽然我们可以在JP中创build数据库只读副本,但是Web服务器仍然必须向美国发送写入操作。 ElastiCache不支持跨区域。 即。 美国的ElastiCache只能由美国的ec2实例访问。 每个区域内的VPC将VPC与IPSec / VPN隧道互连。 JP只包含Web服务器,其他所有服务都保留在美国。 不过,美国和日本之间还有延迟 在#2中使用WAN优化器作为VPN隧道 任何人都有这方面的经验? 在VPC-to-VPC优化中,我找不到在google中的很多… 使用CloudFlare的Railgun 我们只需要在美国networking服务器上安装Railgun监听器 太简单了,我们甚至不需要在JP中运行任何东西 我的问题: 什么是最好的方式/行业最佳实践? 扩大到另一个地区? 我知道一些公司只在一个地区拥有自己的基础设施,但是他们如何确保海外用户的速度? 对于#2,永久隧道的帮助吗? 对于#2 /#3,假设区域之间的延迟和networking速度可以被优化,是否真的有必要在JP中有Web服务器? 如何在JP中只有代理服务器向美国Web服务器发送代理请求? 任何帮助将不胜感激,谢谢:D

如何扩展我的EC2实例?

我对服务器configuration和Linux一般都很陌生,所以请耐心等待: 我有一个小的EC2实例在Ubuntu 10.04 LTS上运行LAMP服务器。 如果我需要的话,我将如何扩大规模以满足交通需求,我感到十分困惑。 我可以将服务器的types更改为大? 或者做一个创build另一个实例并做一些负载平衡? 我甚至不知道如何开始。 如果有人能够提供一些提示,并指出我正确的方向,一些文件,我会永远感激。 谢谢!

Postgres vs MySQL:哪一个更难以扩展?

从您的经验来看,哪个数据库服务更难以扩展? MySQL或Postgres? 我知道MySQL有几个开箱即用的缩放/集群function,但是使用Postgres,没有任何东西可以直接使用。 CMIIW。 编辑 : 对不起,在这里混乱,我的问题是指缩小(水平缩放),即聚类,分片等。我知道两者可以水平扩展,但哪一个更容易实现? 感谢你的分享。

如何识别重写磁盘?

我有运行CakePHP应用程序的服务器的这个问题。 服务器非常慢,我首先想到它是应用程序的问题,但后来我发现恒定的5-6MB / s写入磁盘。 find这样一个重写的原因最简单的方法是什么? 服务器正在运行Gentoo。

通过横向扩展Web服务器来共享file upload目录的最佳方式

我目前正在尝试为基于Drupal的Web应用程序devise一个可水平扩展的集群,它看起来像下面的彩色图表: 负载平衡器实现粘性会话,所以一旦用户被分配了服务器,用户就可以保持状态。 每个应用服务器都有以下几点 在前面的清漆 drupal 6在灯pipe中间运行 memcached在后面 这两个mysql数据库服务器在一个共享的IP上,它们在一个DRBD的HA集群中,并且听起来很不错,所以丢失的不会造成整个平台的崩溃。 有几件事我不确定,我会感激你的意见: 文件存储应该如何水平扩展? 我正在考虑使用NFS在每个应用程序服务器上安装一个共享文件目录,因此一次上传的文件在所有这些文件上都可用。 我正在考虑NFS,因为它已经存在很久了,而且我没有使用MogileFS或GlusterFS的经验,这是我们之前使用过的,所以我们对它更加熟悉。 有没有任何的指导方针来解决多less个服务器是明智的共享一个通过NFS这样的目录? 如何在共享文件存储上提供HA? 这里的一个问题是NFS服务器是单点故障。 我们已经在Mysql服务器上使用了Heartbeat和DRBD,而且我希望尽可能降低堆栈中涉及的技术数量 – 如果我要对文件使用相同的HA策略,那么会出现什么问题服务器呢? 另一种方法 这是一个面向内部的网站,有限的用户偶尔会在短时间内使用网站,而内部的计划正在进行。 所以这不需要像一些启动一样无限地扩展。 鉴于 我们可以预期的stream量有一个上限 向文件服务器添加HA,并devise一个水平扩展的设置,这样会带来相当大的复杂性 我也在考虑让这两个Web服务器更加强大,以便它们能够处理它们之间的高峰负载,并在cron作业上设置两者之间的一致或rsync,以便: 他们的文件仍然处于同步状态(粘滞会话让用户在同一台​​服务器上传文件) 失去一个意味着该网站仍在运作。 这听起来像是一个可能的方式来解决任何可能的NFS / DRBD HA复杂性头痛? 谢谢, C

使用OpenVPN的大型VPNnetworking(约600台服务器)

我正在做一个合同的初步研究,在〜600个运行Linux CentOS 6的远程服务器(+他们的600个专用局域网)之间build立一个VPNnetworking。 networking应该是基于星形的,所以每个远程服务器连接到一个或多个中央服务器以进入VPN(我知道这是一个SPOF,但没关系,因为构build这个VPN的主要应用程序将运行在中央服务器)。 我想使用OpenVPN(它非常灵活,可以根据我们需要的configuration进行调整),但是我想知道在这么大的networking上运行它的最佳实践是什么。 例如,如果在tun模式下使用,它将在中央服务器上创build600个tun接口,我甚至不知道它是否受支持和/或创build任何问题。 我对这样一个庞大的networking没有任何经验,所以我可以接受任何build议和指引。 谢谢!