是一个小的VPS足以运行一个URL缩短服务?

我有一个小日本导向的url缩短服务。 它被closures了,因为它在共享服务器上使用了太多的资源(CPU时间和内存)。 这是几年前,但我有兴趣,如果我能负担得起恢复生活。

我打算使用http://tighturl.com/project/这一次,并想知道是否从说linode最小的VPS将能够处理的工作量。 大部分的工作只是mod_rewrites。

如果网站变得缓慢,但不是不可忍受的。 如果项目有兴趣,那么我可以升级VPS。 但是我是否正确地认为,即使VPS被淹没,也不会因为影响其他用户的性能而closures?

不,Linode不会因为使用资源而closures你。 他们只会将你的CPU限制在你的百分比。 如果没有其他人使用他们的CPU,你也可以使用他们的CPU,直到他们的VPS请求它,所以几乎总是会得到比你更多的份额。 你可以最大限度地延长RAM和CPU,如果你的网站变慢,只需升级linode。

他们唯一特别关心的是高清访问,因为这可能会影响到其他人,但这似乎并不适用于您的情况。

我强烈推荐linode。

这真的取决于你如何编写网站。 我可以看到一个VPS正在淹没。 如果您的VPS使用比分配更多的资源,它可能会被closures。 更轻量级和快速的服务(可能是一个自定义的fastcgi C ++后端)会更好。

你打算如何实施它?

url保持活跃多久?

如果你在X天/几个月/之后杀死他们,而且你每天只得到几十万个请求,那么我预计任何地方都会有一个入门级的VPS来处理它。

我个人最关心带宽使用情况。 我更喜欢“没有计量”,但速度上限的服务,以一个非常快速,但“计量”的连接 – 成本更容易预测:)

如果这是一个非常简单的实现,比方说在db中查找缩短的项目,并且您将redirect返回到原始URL – 它可能不会使用大量的CPU或RAM – 唯一的问题应该是存储。 如果平均URL + shortID是1KB,并且您有一百万个URL,则您已经在查看1GB的存储空间。 每增加一百万个url,您的存储空间就会增加1GB,而我使用的托pipe服务提供商( http://tektonic.net )的入门级VPS则将达到1800万条logging。

Tinyurlurl压缩网站。 优化以获得更好的VPS性能

与专业解决scheme相比,许多VPS都具有更低的CPU和更低的分页内存资源。 即使硬盘空间可能是昂贵的。 但是你可以尝试使用更好的C ++甚至perl等任何使用公平algorithm的应用程序。

U可以考虑更好的优化你的程序algorithm,而只是试图得到更昂贵的平台或者只是用更快的语言重写algorithm(然而前者和后来的某种程度上有所帮助)。

你可以考虑的一些想法是老化所有低命中logging和一些最古老的logging。 U可以得到计数器存储在数据库中,但不build议用于存储date,而只是删除当前数据库中的所有匹配的logging与几个旧的快照(你不需要这样存储date,只需删除所有匹配的logging是在旧的快照和命中率低)。 此外,你可以分离旧数据,并以高度压缩的forms存储“归档” – 就像使用前缀的存储时间等。U可以删除旧logging,从而保留ID和迁移到第二个“离线”数据库,以简化查询。

另外考虑改变哈希algorithm,但它提出了一些挑战(如寻找更好的方式来压缩string或存储最常见的URL或其部分在一些快速前缀表给予“超级”ids)。 实际上你可以挑战(像维基百科做的100MB随机文本)或问题在这里;-)或让你自己的研究,甚至离开,因为它会工作无论如何,P;

-gl