我们正在一个网站,为一个客户(次)预期获得一个公平的交通量,在第一天。有新闻稿,人们有关的博客,等等。我有点担心我们会落空,在我们脸上的第一天。什么是主要的东西你会看到保证(在事先没有真正的业务数据),你可以站在后一大推出。

详细信息:这是一个 L/A/M/PHP 堆叠,使用内部开发的软框架。这是目前正在推出一个服务器使用Apache and MySQL两个月,但我们可以打破,如果需要的话。我们已经安装缓存和做多PHP级别的高速缓存,因为我们可以想到的。一些网页是相当密集型的查询,而我们使用的智者作为我们的模板发动机。请记住,没有时间来改变任何这些主要方面--这是刚刚安装。什么样的事情我们应该看出来的?

有帮助吗?

解决方案

为了准备或处理峰值(或峰值)性能,我首先要确定您是否准备通过一些简单的性能测试,例如 jmeter

它易于设置和开始使用,并为您提供是否能够处理预期峰值负载的早期指标。

然而,考虑到您的时间限制,其他步骤将是准备能引起最高关注的静态内容版本(例如新闻稿,如果您的发布日)。还要确保您充分利用客户端缓存(减少对服务器的请求可以产生重大影响)。在这些情况下,已经设计用于极高可扩展性和有效使用内容缓存的Web是您最好的朋友。

关于新Guardian网站设计的软件工程广播,当事情平静下来。

发布会好运

其他提示

先测量,然后优化。你做过任何负载测试吗?瓶颈在哪里?

一旦你知道了你的瓶颈,那么你可以聪明地决定是否需要额外的数据库盒或网箱,现在你只是猜测。

此外,您的负载测试结果与预期流量相比如何?你能处理2倍的预期流量吗? 5倍?您可以轻松/快速地获得&发布额外的硬件?我确信业务要求是在发布期间不会失败,因此请确保您拥有 lot 的容量,之后当负载稳定并且您知道需要什么时,您可以随时将其释放。 / p>

我想至少因素,所有静态的内容。设置另一个虚拟主机其他地方和载荷的所有图形/css/js到它。你可以买到的一些额外的周期将服务这种类型的内容。如果你真的关心你可以注册和使用的内容分发服务。有许多现在类似于Akamai和相当便宜。

另一个想法可能利用阿帕奇mod_proxy保留产生页输出特定数量的时间。APC也将是相当可用..你可以雇用输出缓冲捕获+的最后修改的时间有关的数据页上,并使用APC缓存的版本。如果页面不再有效,你再生和储存在APC。

祝你好运,这将是一种学习体验!

有一个测试版期限,允许尽可能多的用户处理,测量网站的性能,在您上线之前解决错误。

您可以在私人测试版中明确控制用户数量,也可以控制Google风格的半公开测试版,其中每个用户都可以向他们的朋友提供一些推介。

我个人会做一些事情

1)加入某种负载均衡器/数据库复制系统

这意味着您可以将服务分布在多个服务器上。永久不能拥有多台服务器?使用Amazon E3 - 这对于这样的事情很有用(开启几台服务器来处理负载)

2)某些“高负载”中的代码限制

例如,如果您的搜索效率低下 - 请在负载达到某个级别时将其关闭。 “抱歉,我们很忙,请稍后再试一次”

3)负载测试...使用 ApacheBench 之类的内容来对服务器进行压力测试。

4)就个人而言,我认为转换“Keep-Alive”连接关闭更好。它可能会略微降低整体性能,但是 - 这意味着,如果网站适用于少数人,并且其他人获得超时,那么每个人都会得到不一致的服务,如果达到那个水平的话,

Linux Format做了一篇关于“如何生存slashdotting”的好文章......我过去发现它很有用。它的以PDF格式在线提供

基本的第一步加强网站流量的步骤。

1)使用 https://browsermob.com/ 等低成本工具对您的广告进行负载测试现场。至少你应该每小时看100K独立访客。如果您从MSN主页上获得广告,则希望每小时能够处理500K唯一身份。

2)将所有静态图形/视频内容移动到CDN。 Edgecast和亚马逊是两个很好的选择。

3)使用Jet Profiler配置MySQL服务器以分析任何执行速度慢的查询。微小的变化可以带来巨大的好处。

使用 Varnish - 它是一个缓存反向代理服务器(如鱿鱼,但更多单一目的)。我在它背后运行了一些非常大的网站,它似乎工作得非常好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top