Articles of 可扩展性

什么数据库容易维护和pipe理在一个集群?

我正在寻找一个容易扩展的数据库(DBMS)。 我想有高可用性,所以我需要一个多主集群,其中的数据被复制到两个或更多的物理计算机。 我也希望能够从一个节点开始(不复制),然后按需扩展到更多的节点,而无需重新安装或停机。 我想有一个易于维护和pipe理的DBMS。 应该很容易添加节点,删除节点,进行实时备份和监视资源的使用情况。 它不一定是一个关系数据库系统,所以NoSQL是okey。 我想有一个免费的版本,所以我可以testing它在小规模,并与替代品进行比较。 我有什么替代方法?

如何通过从数据库分区到分片来扩展?

说我有一个MySQL表: CREATE TABLE tweets ( tweet_id INT NOT NULL AUTO_INCREMENT, author_id INT NOT NULL, text CHAR(140) NOT NULL, PRIMARY KEY (tweet_id) ) PARTITION BY HASH(tweet_id) PARTITIONS 12; 一切都很好。 该表位于单个服务器上 – Server1。 但最终我可能要扩大规模。 所以我想分割表并将12个分区中的6个分区移动到新的服务器 – Server2上。 1)有没有什么快捷方式将这些分区从Server1移动到Server2? 2)现在我有2个服务器,我如何确保2个服务器生成的自动增量tweet_id的值不一样? 我还需要确保每个分区上的tweet_id保持一致,即在分区k上,每个tweet_id的模12等于k。 3)理想情况下,我想继续这个扩大的过程。 所以稍后我想添加第三个服务器 – Server3。 我想重新平衡分区,使每个服务器上有4个分区。 再次如何确保由3个服务器生成的自动增量tweet_id是不同的,并且tweet_id的哈希在每个分区内保持一致?

准备一次类似digg的效果的最佳方法

我有一个网站,这个网站将会在几个星期内发送一个高峰的一次性交通的地方。 托pipe网站的服务器还托pipe我的客户使用的控制面板。 网站部分很简单,大多是静态的。 但它包括一个WordPress的博客。 我的问题如何以及在哪里放置或caching网站和博客,以便通过stream量高峰? 例如,是否有可能在amazon s3上托pipe这些页面,以便他们可以通过我的域上的常规URL来访问,而无需通过服务器? 编辑: 我可以更改控制面板的url,使其具有自己的子域,并保留在主服务器上。 并强制访问公司网站和博客www.mysite.com。 现在,我怎样才能让www.mysite.com/page1从包含page1 html的amazon s3桶中读取?

IIS 7 / 7.5 304(未修改)是否涉及磁盘IO?

我想知道IIS(7 / 7.5)如何在304((未修改))响应代码中工作。例如,当一个图像caching在带有Last-Modified HTTP头部集的客户端(即Web浏览器) IIS需要真正检查物理映像文件是否真正被更新?如果有很多映像,这个磁盘IO活动可能是瓶颈,即使图像被caching在客户端。的数据传输线,但不是在服务器磁盘IO方面。 同样的问题可以适用于HTTP ETag。 我会假设IIS需要制定'内容哈希',以便浏览器可以找出是否获取更新的页面或只使用浏览器caching。 谢谢。

企业扩展 – 硬件和服务器技巧

当您向大型企业用户交付时,情况会发生变化。 当扩展到一个非常庞大的用户群时,与您的服务器或服务器场有关的最重要的事情是什么?

作为一个小企业,我怎样才能以最具成本效益的方式托pipe一个静态的500GB数据库呢?

我的公司正在build立一个大型公开数据库的数据库。 当我们完成它,我们将有500GB的数据,但数据将永远不会超过这个。 它利用了Postgres的多边形操作function,因此必须留在Postgres中。 我们如何以最经济有效的方式托pipe这个数据库? 编辑:我应该提到,我们想要在云中托pipe这个数据库,因为我们没有我们自己的现场服务器。 编辑2:对不起,让我详细说明。 这个数据库将被整合到一个SAASnetworking应用程序中,因此很多用户可能会同时访问这个数据库。 但是,一旦我们有了它,数据将很less改变,如果它改变了,它只会被添加到,永远不会被删除。 像Linode,我们用来托pipe网站的其余部分,没有足够的存储空间。 我们想要优化成本,但其次我们宁愿自己不要碰任何硬件,所以购买一个大的驱动器将不是理想的。

你如何select你的Django应用程序的EC2实例?

可能重复: 你能帮我做一下容量规划吗? 我的团队已经创build了一个不错的Django应用程序,现在它将被部署在一个EC2实例上。 现在有几个问题,我正在寻找答案: 如何决定哪个实例适合我的应用(微型,小型,中型,大型等)。 换句话说,我怎么知道这个应用程序需要多less内存/处理能力? 我怎样才能量化我的服务器上的最大并发用户数。 这对于这个应用程序很重要,我需要知道有多less用户会被微/小/中或大的实例支持。 我应该去安装在单个实例上的所有东西,还是应该有单独的数据库实例,备份和应用程序。 我怎么能估计额外的资源需要增加每个用户(我认为这不会是线性的) 我知道这些问题的答案是非常主观的,大部分依赖于应用程序devise和架构。 因此,我更感兴趣的是了解做出这些决定的过程。

将有3个服务器+负载均衡器在我的情况帮助?

我想升级我的服务器,因为MySQL的负载过高导致缓慢+每当在数据库上运行备份进程,数据库将无法访问,所以想要一些解决scheme。 我目前的服务器是8GB RAM的Opteron 2212。 我的networking主机提出了一个较低的configuration服务器(Phenom Hexacore与8GB内存),但采取3服务器+负载平衡器…他们说,这将有助于在stream量高的情况下,也有助于当一台服务器失败,那会有一个备份服务器。 进一步询问他们说,没有MySQL复制将build立,因为他们收取额外的,但仍然能够configuration一个设置,将满足我的需求。 我真的不确定,如果我有3个这样的服务器,没有mysql复制,我的升级目的是否会实现?他们不清楚如何设置它。 任何想法,这是否是一个好的解决scheme,我可以向他们提出什么?

Ubuntu可伸缩nginx mongodb mongdb memcached服务器configuration

在过去的2个月中,我一直在使用以下技术构buildPHP Web应用程序: PHP 5.3.4 MongoDB的 MySQL的 我刚刚得到了我的专用服务器运行Ubuntu 10.4 LTS x64与以下硬件: 100Mbit的networking速度 120GB SSD 16GB RAM @ 1600 MHZ AMD FX 6100 6核CPU @ 1400 MHZ每个内核(总共3600 MHz) Linux Kernel 2.6.33(支持SSD修剪) Ubuntu 10.4 LTS x64 Web应用程序的静态内容是(未压缩的,未压缩的)总共200kb。 PHP Web应用程序需要可扩展性,它可以在开始时获得大量的stream量。 现在我有几个问题: 我应该configuration什么DDOS保护,我没有竞争对手,这个项目是地下和未知的,所以我应该考虑什么? 有什么可以帮助我,因为有很多东西像使用Nginx模块或使用iptables? 我怎样才能configuration这些? 如何计算带宽,以及服务器可以处理多lessstream量?

使用NFS进行可扩展的PHP / MySQL Web应用程序

情况如下: 我有一个接受用户上传(PHP文件)的PHP / MySQL Web应用程序。 从这些pdf文件的页面中,预览图像即时生成并呈现给networking应用程序的用户。 一些pdf可能会占用很大的空间,大多数将会在50 MB以下,但是一些极端的情况可能会大到几百MB。 有一个等待大的PDF文件的预览图像是可以接受的,但不超过一分钟。 现在一切都在一台服务器上运行,但不久之后,应用程序将在存储和处理能力上达到服务器的极限。 我的想法来解决这个问题: 为了处理这种情况,我有了一个或多个pdf处理服务器和一个或多个文件存储服务器的想法。 这两种types的服务器安装到使用NFS运行实际应用程序的服务器上。 应用程序可以使用GearMan将PDF处理任务委托给这些处理服务器。 处理服务器可以挂载存储服务器并读取存储在那里的文件,对其进行处理并将其输出写入该服务器。 我所说的服务器将是亚马逊ec2实例。 Web应用程序返回到存储服务器上生成的PDF预览图像的链接,然后可以在前端使用该预览图像向用户显示图像。 我的问题: 我对使用多台服务器的应用程序没有任何经验,这个想法是否可行,还是有更好的方法来做到这一点? 对于这种情况,NFS安装是否快速可靠?