假设我在逆向代理/负载均衡器后面有3个Web服务器。 目前我使用Apache 2,但不介意切换。 这些networking服务器是不平等的。 他们有不同的本地数据集,这意味着不同types的请求将在特定的Web服务器上更有效地处理。 我想插入一些自定义路由逻辑到我的负载均衡器,这将在新会话开始时select一个Web服务器,然后将该会话绑定到该节点,直到它中断(粘滞会话)。 例如:新用户来到web应用程序,负载均衡器以某种方式运行我的自定义代码,此代码find有关该用户的信息,并得出这个用户应该在node1上处理的结论。 平衡器将该用户代理到node1并将其粘贴到该节点上。 当另一个用户来到时,自定义路由逻辑build议node3,然后负载均衡器代理这个用户。 是否可以使用Apache 2? 如果没有,什么代理/负载均衡会给我这种能力? 谢谢。
我在两台Ubuntu服务器上使用KVM进行虚拟化,但每台物理服务器都运行一堆虚拟机。 有没有一种方法可以扩展物理服务器上的虚拟机? KVM支持吗? 有没有其他工具可以做到这一点? 我知道VMWare,Citrix和RedHat有他们自己的可扩展的hyper-visors,但他们是昂贵的。 这里有一张图片来说明我的意思: 谢谢。 这是一个场景。 我们将使用Apache和Postgres来为Django站点服务。 没有比这更复杂的了。 为了处理stream量高峰,我想自动添加更多的虚拟机来处理额外的负载。 EC2不这样做吗? 这几乎是我的需求。
所以我正在开发一个Web应用程序,这个应用程序必须为可扩展性而构build。 它将频繁的MySQL查询存储到caching中。 我几乎build立了所有的东西,并且准备好了,但我关心的是如何处理数据caching的最佳实践。 我已经和几个人谈过了,其中一个人build议将所有的memcache节点上的每个键/值分开。 意思是如果我存储这个例子:'somekey','这是值' 它会被拆分,让3个memcache服务器。 这是更好的方法吗? 或者是更多的memcachebuild立在1对1的关系上? 例如。 在服务器A上存储值,直到它发生故障 – 到服务器B并在那里存储。 这是我目前对我所做的研究以及与memcache合作的经验。 有人可以请指出我在这个正确的方向,让我知道哪种方式是最好的,或者如果我完全有这种混合起来。 谢谢
我们正在开发我们的Web应用程序,并一直在努力减less我们的加载时间。 当我们开始开发应用程序时,我们与一家知名的托pipe服务提供商签约,在云上提供“专用解决scheme”。 因此,我们为我们的Web应用程序提供一台专用服务器,为我们的数据库提供一台专用服务器。 两台服务器都安装了相同数量的RAM,相同的CPU和SSD驱动器。 即使在我们的基础设施投入时间和资金,我们注意到8-10秒的加载时间。 我们被另一个托pipe公司告知,我们应该缩减并将所有内容放到一个服务器上(而不是分割)。 他们提到,由于networking延迟,将服务器分开将导致更高的加载时间,并声明PHP将通过套接字比通过networking更快地与SQL进行通信。 我知道这是真的,但我没有想到我们得到的结果。 将所有内容移动到原来的应用程序服务器后,我们的加载时间从8-10秒降到3-4秒! 问题是,我们现在正在寻找一个新的托pipe服务提供商,并build议使用负载平衡器,数据库服务器,应用程序服务器和规模的集群。 值得关注的是,如果我们将应用程序和数据库服务器再次分开,我们将回到原点。 从我读过的所有内容看来,几乎总是build议将这些服务器拆分而不是组合在一起。 在设置正确的时候这样做是否会带来性能上的提升,还是仅仅为了长期的可伸缩性呢? 我感谢帮助!
我正在寻找免费/低成本的方法,使我们的Unix Solaris服务器(Apache下)运行的PHP更具可扩展性和可靠性。 你推荐的免费版本的Zend服务器? 还有其他解决scheme吗? 这是一个网站,有时会收到超过200万次点击与10GB的数据传输在同一时期。 谢谢。
我一直在尝试/探索的一件新事情是build立一个服务器,基本上有200到300人同时在一个用户身上运行一个任务。 他们可能只需要每天一次或多次执行一次。 问题是,他们可以每个连接尽可能多的设备,因为他们想要的。 在外部机会,他们每个有3或4个设备有公共ssh密钥,我们可能会得到多达1000个密钥在autorized_keys文件。 考虑到这只是一个文本文件,1000个键可能会有性能问题。 反正有没有把这个出来的密钥到数据库或其他东西,而不是authorized_keys文件? 好奇地注意到这对1000个用户来说可能不是什么大问题,但是让我想知道github这样的人能够如何处理他们的[email protected]用户上的50万用户。 我知道我个人有三个不同的密钥与我的帐户相关联,我知道很多其他人多。 我不习惯这样的规模,所以真的好奇。 LDAP的这个性能来pipe理这个? 甚至是某种ssh网关?
我正在开发一个Web应用程序,这将需要扩展到多个服务器。 我将需要运行我的应用程序代码的多个Web服务器,并且会有大量读取和大量写入数据库。 显然我不能只使用一个数据库。 我已经处理了有一个主站和多个从站的数据库复制。 因此,我们有多个只读API服务器,每个服务器都有一个专用服务器和一个专用(复制)的从数据库。 但是,我将如何处理写入? 看来由于瓶颈造成所有的写入都发生在单个数据库上是一个坏主意,而我想写入多个单独的数据库。 但是后来我有了多个主数据库,如果主数据库不同步,我可以想象这将是一场灾难。 而且,我可以想象会有主键冲突。 另一种select可能是使多个数据库具有相同的模式,但每个数据库不是另一个的副本。 这听起来很可怕,因为人们可能会崩溃,我会失去数据。 这似乎是一个维护噩梦,但也许我错了。 对于我所描述的需求,什么是一个好的,经过testing的,实用的,可扩展的架构? 链接到文章或只是在这里的post将是伟大的。
可能重复: 你如何做网站负载testing和容量规划 我有一个网站,我想要在我自己的电脑上托pipe它,但我想知道这是否足够好。 网站检查用户是否login,然后显示来自mysql数据库的15个项目(标题,描述),以及每个项目的评价(存储在另一个数据库中)和评论(另一个数据库)。 它还显示一些统计(项目数量,评论)。 我也有每个项目的图像。 我的规格是:AMD Athlon 64 X2双核处理器5600+ 2.90 GHz 内存:4.00GB Windows 7 64位 那么你觉得呢,有多less访客和物品可以处理(一次或每天)? 我的互联网连接是好的,大约7-10 MB的上传和相同的下载速度
目前我有一台服务器运行一个ASP.net Web应用程序 (在IIS上),这也是运行一个SQL Server数据库 。 我越来越多的stream量,很快我将需要增加我可以处理的stream量,所以用户体验不会受到影响。 我不是在谈论谷歌或亚马逊types的stream量。 我的问题是,什么是一个现实的networking和服务器布局,以提供更好的性能和大我冗余的合理性,而不会期望支付巨额的资金。 我想把时间保持在一个合理的最低限度,但是并不期望100%的解决scheme都可用。 我正在考虑像防火墙,负载均衡器,两台运行IIS的Web服务器和一台合理规格的SQL服务器(也许是一台带有16GB或更多内存的戴尔R710),另外还有一台SQL服务器可以集群到另一台。 我希望系统能够以这样的方式进行扩展,如果在一两年内我们已经大幅增加了stream量,我们可以添加额外的服务器来满足增加的stream量而不用重build整个系统。 任何build议或链接指向我在正确的方向是完美的。 注意:我一直在经历highscalability.com,但是这些案例研究和文章中的大多数是指像StackOverflow,亚马逊和其他超大stream量的巨型网站。 我现在还不在那条船上
我们的网站不断壮大,我们遍布全球的客户越来越多。 我们使用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] \ […]