Articles of 缩放

扩大Apache服务器

我有一个运行apache2的Ubuntu服务器,我希望能在有限的时间内被大约500-1000(同时)的用户所击中。 服务器提供了一个混合的定制(相当轻)的PHP页面连接到一个postgresql数据库(大约20 Mb)和静态内容。 硬件是稳定和相当健壮的: Intel Xeon E5420 @ 2.5 GHz 12 GB RAM 在此前的服务器上,我增加了ServerLimit,MPM模块的MaxClients,减less了Timeout和KeepAliveTimeout。 它已经工作,但一直呆滞,我有一种感觉,可以做更多的事情。 你会如何build议configurationApache服务器来处理这种负载?

MongoDB PHP EC2安assembly置

我是新开发的web开发和服务器。 我正在寻找一些build议或链接到build立一个生产系统的教程。 现在,我有一个服务器(Ubuntu,Apache,MongoDB和PHP)。 它收到一个请求,PHP查询Mongo,PHP发出请求的数据。 我如何使用更多的服务器工作? 我读过,你可以做一个主要和两个奴隶节点作为单独的服务器运行Mongo的集群,但那些也运行PHP? 还是主要运行PHP的唯一一个? 我已经阅读了一些关于Mongo网站的文档和一个10gen的人的video,但是他们面向那些似乎已经了解这个东西的人,我不知道需要从一个开始的阶段开始。 如果任何人都可以帮助我理解PHP(代理为我的API)在这些集群中的位置,那将不胜感激! 提前感谢任何帮助!

扩展网站在全球范围内执行同样快速

我们的网站不断壮大,我们遍布全球的客户越来越多。 我们使用Nginx,PHP和MySQL我们的服务器在英国,所以在欧洲很快,但是我们离开服务器越远 – 网站变得越慢。 (从现在开始,我明白地称呼队长)。 所以我正在研究如何解决这个问题。 我们有一个标准的结构: [web-servers for dynamic content] [CloudFlare CDN] | | [database-servers] [web-servers for static content] 所以我们正在caching我们的静态内容,以及如何在全球范围内快速提供其他网站的问题。 我正在考虑两个主要的解决scheme: 在许多不同的地理位置拥有相同的基础设施,并使用某种forms的地理位置DNS: [Country-1] [Country-2] [Country-3] | | | [web-servers] [web-servers] [web-servers] \ | / \ | / [DATABASES] 现在我在这里看到的问题是如何让MySQL复制保持最新的全球? 我相信从新加坡到伦敦的高手复制并不总是最新的,延误当然会给应用带来问题。 使用反向代理与专用线路 [Country-1] [Country-2] [Country-3] | | | [Reverse Proxy] [Reverse Proxy] [Reverse Proxy] \ […]

传统的不支持dpi的应用程序分辨率缩放?

我们的环境显着地提出了一个过时的,但绝对任务关键的Win32应用程序是不是DPI认识。 它针对800×600显示器进行了优化。 我们大多数用户现在有17“-20”显示器,分辨率从1280×1024到1680×1050。 但是,他们仍然以800×600的速度操作这些显示器,因为这个遗留应用程序中的文本太小了。 当然,这也意味着在Office 2007屏幕上没有任何东西可以用。 我们的大多数工作站仍然运行Windows XP,但有些在Windows 7上,还有更多。 大约三分之一的用户通过MSterminal服务远程运行应用程序,其余的在本地运行。 有没有人知道任何方法可以用来扩展这个特定的应用程序大约170%,以便它将填充1280×1024屏幕,而不会影响其他应用程序,在显示器的原始分辨率最好的工作? 我知道如何在Mac OS X中执行此操作,但是我从来没有find在Windows中执行此操作的方法。 当然,理想情况下,这是我们可以通过组策略推出的东西。 我想我们甚至可以创build一个自定义的MSI包来重新部署具有某种显示虚拟化层的遗留应用程序,如果存在的话。

使用AWS Elastic Load Balancer时,为什么会出现TCP断开连接?

我们正在AWS EC2实例上运行我们的服务器。 服务器必须在端口80上提供HTTP,在端口1935上提供RTMP(TCP)。 运行一个实例工作正常。 但是,只要我使用Elastic Load Balancing来平衡两个EC2实例之间的负载,一分钟后RTMP(TCP)连接就会丢失。 即使我们的应用程序应该容忍不满,现在不适用。 使用haproxy来平衡负载,我们不会遇到这些早期的不满。 Elastic Load Balancer对我们很有吸引力,因为它具有自动缩放function。 有什么build议为什么当我们使用AWS Elastic Load Balancer时会发生这种断开连接?

缩放build议LAMP +负载平衡器

我目前的设置: 1 Http负载均衡器 3 Apache前端服务器 1 Mysql负载均衡器(平衡读取所有三个,写入只有主人) 3 Mysql数据库服务器(1个主站,2个从站) 一切都很好,但突如其来的突发性stream量,需要在这些高峰期间扩大规模。 我正在考虑转向更简单的程序。 1 Http负载均衡器 n * Apache + Mysql服务器合并(其中1个包含Mysql主服务器) 每个Apache服务器将读取它的本地数据库,但写入主。 这意味着扩大所有我将需要做的是启动另一台服务器,并将其添加到LB. 通常我需要和Mysql一样数量的Apache服务器。 你看到这个设置有什么问题吗? 我还没有看到任何人使用这个设置之前,所以我想知道有什么缺点。

用于复制的前端Web服务器的文件存储?

我们是一家运营一个网站的公司,每个月有80万独立访客,增长率为35-40%。 我们刚刚从一台服务器转移到一个专用的mysql数据库和一台nginx +乘客前端服务器。 一段时间后我们遇到了下一个瓶颈,并且正在考虑通过增加一个负载均衡的前端服务器解决scheme(我们测量字体结束是瓶颈)水平扩展。 这些文件显然位于我们现在的单个前端服务器上。 保留2台前端服务器之间同步的站点文件的最佳select是什么? 我GOOGLE了很多,有人推荐“rsync”。 我遇到的唯一问题是当cron作业没有运行一段时间的时候你会得到的差距。 我们的内容经常更新,我们会在首页进行推广。 另一个解决scheme似乎是NFS,并将文件安装到第二个前端服务器。 这个解决scheme的任何问题? 任何build议是受欢迎的。

将数据库移动到Amazon RDS进行扩展

我们有一个应用程序的情况下,我们预计在一个专门的服务器上可能的stream量激增托pipe。 在应用程序上的主要瓶颈是MySQL读写很重。 尽pipe我们有多个级别的caching,但由于stream量的限制,MySQL仍然可能会出现问题。 我们无法执行大量的体系结构更改,而这些更改将需要将负载平衡器和复制等操作放在一起。 理想情况下,我们希望尽可能地离开架构,主要是由于交通量没有得到保证,所以成本可能会超过最终的要求。 有一件事发生在我身上的可能性是将数据库完全移出服务器,并将其放到Amazon RDS上。 这将使我们有能力按照成本效益的方式进行扩展,但并不意味着我们坚持使用昂贵的软件/硬件,而这些软件或硬件我们可能并不一直需要。 真的不知道这个方法是不是一个好主意,所以将不胜感激人们有任何想法/陷阱/指针。

使用Elastic Load Balancer进行水平缩放的小型和中型EC2实例

我正在围绕扩展Amazon EC2实例进行一些辩论。 我使用ASP.NET开发了我的应用程序,所以我必须select使用Windows EC2实例。 MySQL和图像由其他实例提供,所以缩放(现在)仅适用于Web应用程序实例。 我的select(现在): 小型64位实例 – 从小实例32位开始,创buildElastic Load Balancer,在stream量上升时根据需要添加更多的小实例(取决于我设置的CloudWatch规范)。 中等高CPU实例 – 从中等高CPU实例开始(成本更高,但function更强大),创buildElastic Load Balancer,并在需要时添加更多中等高CPI实例。 与Medium实例相比,第一个选项更便宜,并且允许应用程序逐渐扩展,Medium实例只能使用32位,所以我被locking到了32位。 我不想放大,因为我喜欢水平放大。 这意味着当交通不便的时候,我不会支付中等价位的高价。 因此,第二种方法是select使用64位小型实例,并在Elastic Load Balancer下添加更多服务器进行水平扩展,这取决于从Amazon CloudWatch(即CPU,RAM等)获取的规格。 我的问题是,我有问题来决定哪一个去。 我读过中高CPU实例比小实例强5倍。 但价格是有点侵略性的开始。 一般来说,我更愿意在需要的时候通过添加更多的小实例来支付更less和更多的资源 我需要你的帮助来决定走哪条路。 每种方法的优点是什么? 如果有优势的话,为什么在水平缩放方面,获得中高CPU的比较好? 毕竟,围绕云架构的所有想法是能够节省在给定时间范围内不需要计算能力的服务器的成本。 我尽最大努力通过对MySQL的页面和SQL查询使用caching来优化实例(在Xeround上存在,这解决了涉及到数据库的扩展问题)。 我的数据库相对较小(1000行,数据量不多),所以对于我的caching需求,小型实例上的1.7GB RAM是可以的。 我认为当stream量上升时,主要的问题将是在CPU上。 此外,存储也很小,只是我的网站ASPX页面。 我认为这个应用程序每天可以吸引成千上万的访问者,也许更多。 所以缩放是必须的 – 但是,一个小的实例水平缩放是一个聪明的举动? – 即使是高stream量的Web应用程序,它会是更明智的select吗? 现在我正在更多地面向小实例+ Elastic Load Balancer解决scheme。 随着应用程序的增长,付出更less,付出更多的钱似乎是合乎逻辑的。 等待你的知识丰富的答案。 谢谢。

想到有效地使用我的服务器硬件

我将在几天内收到我的新服务器硬件,当然,我已经计划如何使用它是最有效的方法。 我目前的想法是关于在单个专用服务器上扩展Web和数据库服务器。 我想到在这个专用服务器(KVM虚拟化)上构build4个虚拟机,给他们私有IP地址,并使用专用服务器本身作为负载平衡器。 我会使用HAproxy的安装来平衡负载到上述虚拟服务器。 我的问题是:这个概念会比在专用主机上安装单个Web服务器和数据库服务器更有效吗? 如果是这样,这是怎么发生的? 如果没有,我可以怎样扩展我的软件以尽可能地使用机器? 我用于Web和数据库的软件是Apache2和MySQL服务器。 我正在谈论的新的专用服务器将具有以下规格: 英特尔至强E3-1265L 32 GB DDR3 ECC内存 2个300 GB SAS 10k RPM硬盘在硬件RAID 1中 100 MBit / s专用带宽/ 10 GBit / s交换机端口 我对你关于我的快速写作概念的想法和想法感兴趣。 为了避免一些“坏”的评论:我不是没有经验的服务器pipe理,但扩展到这样的大硬件对我来说是新的,所以请不要太生气,如果这个想法是愚蠢的。