Articles of 可扩展性

Pandora或Last.fm等网站使用什么样的服务器来提供媒体文件?

Pandora或Last.fm等网站使用什么样的服务器来提供媒体文件? 我假设他们将有其他的东西,除了networking服务器存储和服务媒体文件…什么是一些可扩展的解决scheme..

什么是种子20.000+种子的最佳途径

什么是最好(最稳定)的方式种子20.000以上的种子在1台服务器上?

为什么IIS不一致?

我有一个在Windows 2008 R2 64位IIS 7.5下运行的WCF服务(用.NET 4编写)。 我创build了一个产生10-20(或更多)线程的testing工具 – 每个线程创build一个随机的有效载荷并命中服务器。 在服务器上,我logging了所有的访问,我可以看到从事IIS的线程ID。 无论有多less客户端请求(同时)服务器,服务器只使用2个线程。 它基本上在它们之间循环。 但是,突然之间,IIS将开始使用尽可能多的线程作为我请求的数量。 然后,它会下降到使用1或2个线程。 有人可以解释这种行为,我可以做些什么来解决这个问题?

文件共享系统架构征求意见

我正在使用Windows平台来设置基于Web的文件共享系统。 更详细地说,个人用户可以从networking界面上传和共享文件(内容可能是大文件,如video文件),与Google Docs类似。 我目前的问题是如何使存储扩展? 更详细地说,我有4-5个前端Web服务器(做一个Web服务器场),我想知道如何设置存储系统来存储上传的文件。 我想存储自动增长 – 即每个Web服务器似乎使用无限的磁盘空间(无需处理磁盘的问题); 另一个问题是我不知道如何有效和可靠地存储文件(例如,如果每个Web服务器都有其单独的存储空间,假设abc.wmv存储在Web服务器A的存储中,那么如果Web服务器A失败,则无法访问abc .WMV)。 另一个我能想到的问题是,如果我增加前端Web服务器的数量,为新的Web服务器,如何决定哪些上传的文件应该被存储(我应该将一些文件从其他Web服务器迁移到新的Web服务器) ? 我考虑使用SAN,但我不确定SAN是否可以解决所有问题。 我想学习一些最佳实践来处理这个问题。 在此先感谢乔治

如何缩放超过每分钟150页面浏览量?

我有一个用PHP编写的Facebook应用程序。 它每分钟有150页面浏览量,到今年年底将达到每分钟300页面浏览量。 在获得更多PV时,我开始遇到可扩展性方面的问题,因此我想请教您如何扩展以成功处理300 PV /分钟的build议。 我的应用程序是一个类似quizz的应用程序,它托pipe在VPS上,可以使用: 一个核心2,6 GHz处理器的100% 500 MB,高达2 GB的RAM(cat / proc / user_beancounters表示,我真的privvmpages = 500 MB,免费-m显示2 GB) 我的VPS的configuration是这样的: Centos 5 Lighttpd的 Memcached的 APC MySQL的 PHP使用FastCGI 尽pipe上个月我已经使用互联网上提供的一些教程来优化MySQL,Lighttpd和PHPconfiguration。 我设法广泛使用Memcached将这么多请求降低到1ms,而那些未经memcache处理的请求则需要300 ms。 我已经给MySQL添加了很好的索引,所以它不在用户的范围之内。 一段时间以上的优化足以处理新的请求,但最近由于应用程序的日益普及,我注意到一些请求需要超过3秒,并在爆炸中我的Lighttpd只是说你和用户得到内部服务器错误500。 我已经设法find(我今天肯定知道这个)解决scheme来修复错误500设置: "PHP_FCGI_MAX_REQUESTS" => "500" 但是可扩展性问题还没有解决。 我需要能够处理比现在多2倍的请求。 我想如何做到这一点。 以下是我今天提出的解决scheme: 将2个核心上的VPS升级到3.3 GHz 购买另一个VPS并在那里移动数据库 询问某人的帮助(我现在所做的) 我可以在我的VPS经销商那里购买一个更大的计划,那就是我现在拥有3.3Ghz的2.6Ghz,而不是两个核心。 这将需要更多的钱,但它可以帮助我吗? 如何计算它是否会处理300 PV? 我的第二个想法是购买另一个VPS并在那里移动数据库。 它应该为FastCGI进程和数据库进程提供CPU和内存。 但是,如何知道是否更好地产生另一台服务器,或为我现在购买更大的计划呢? 所以我进入3点 – 问问别人。 所以我在这里 […]

扩展大量的小型客户J2EE webapps

我们允许客户在我们的SaaS应用程序上创build网站。 我们目前使用Jetty作为应用服务器,但是我们可以使用任何J2EE。 我希望能够在我们的群集中扩展客户的webapps。 这个想法是,如果一个特定的客户有一个困难的web应用程序,.war文件将被复制到整个群集,以便其他机器可以处理负载。 但是,必须在webapp-by-webapp基础上完成,因为如果我们有1,000个客户,我们确实不希望将他们的所有webapps复制到每个节点上。 这与Heroku和Google应用程序引擎有点类似。 如果您的应用需要缩放,则会自动将其复制到其他框中。 有没有足够的智能应用程序服务器? 如果不是,我们将使用什么技术来自行构build?

如何使用预先configuration的AWS报警启动EC2实例

当一些硬件消耗指标达到一定水平时,我不想杀死一个特定的实例。 如果我为缩放组创build了一个警报(例如,设置最大cpu消耗阈值> = 50),它会杀死最老的实例 – 而不是那个行为不当的实例。 杀死特定实例的一种方法是为实例创build一个警报,而不是为缩放组创build警报。 但是,如果我启动一个新的实例(自动缩放),这个新的实例将不会有警报。 有没有办法用预先configuration的ec2级别警报启动实例?

如何聚合一个大的cron邮件卷

如何以一种聪明的方式处理大量的cron邮件(从一千台服务器)? 主要使用案例:出现cron错误,但其严重性不保证立即执行。 不过,我不想每隔一分钟就发一封电子邮件。 显然我可以保持沉默,但是我会忘记这个错误。 示例错误:定期unattended-upgrades失败,因为没有足够的可用内存。 理想情况下,我会使用Opbeat或类似Sentry的服务,但为了cron输出。 这将允许我聚合(在服务器和命令),分配和静音事件。 但希望别人已经实现了一些聪明的东西。 感谢您的build议! 更新:我发现一个sentry-cron实用工具@ https://pypi.python.org/pypi/cron-sentry这似乎做我想要的。 对于Opbeat,这也是可能的,但没有人写封装。

可用性和扩展性:三层或两层

我开始在一个三层体系的网站(UI:MVC / Application:REST / DB)上工作,我一直认为三层比二层(高stream量网站的禁忌)更具可扩展性,但是最近我知道一些众所周知的网站是2层网站不是3,似乎运行相当不错。 那么交易是什么,如何决定两个人是否会比三人更好地服务于你。 我打算build立的网站是一个公共的,但相对较小,我期待高stream量。 有任何想法吗?

将单节点Cassandra群集dynamic更改为两个节点

所以我有一个应用程序,大部分时间都是非常hibernate的,但是这个应用程序需要在几个月内爆发。 由于我们在EC2上进行部署,因此我希望大部分时间只保留一台Cassandra服务器,然后在爆发时间内,我想再增加一台服务器(使用比先前更多的RAM和CPU)来帮助提供服务。 做这个的最好方式是什么? 我应该采取不同的方法吗? 关于我打算做什么的一些说明: 带上节点并立即修复 突发时间结束后,强大的节点退役 使用永远在线的服务器作为种子节点 我的主要问题是如何让节点共享所有的数据,因为我想要一个复制因子2(所以这两个节点都拥有所有的数据),但只有一个服务器时,这将无法正常工作。 我应该提出2个额外的服务器,而不是一个?