如何加快网站显示速度

如何加快网站显示速度

我们在专用服务器上有一个网站。以下是服务器设置:

  • 正品英特尔,英特尔 (R) Core (TM) i5-2400[电子邮件保护]
  • 版本 Plesk v10.3.0_build1012110629.18 os_Ubuntu 10.04
  • 操作系统 Linux 2.6.38.2-xxxx-std-ipv6-64
  • 内存总量 16Gb

本网站(http://www.bobcat.pro) 是一个由 18000 个类别和 300000 个产品组成的电子商务网站。全部运行在 PHP5 / MySQL 上。

正如您在浏览时看到的,页面显示需要 5 秒(或更长时间),这太长了。我正在寻找一种与我们服务器的安装兼容的减少显示的方法。

我曾经使用过 varnish,但体验上的问题太多,无法重试。您有什么推荐?google 的 page_speed 模块适用于 apache 2,是一个好的解决方案吗?

答案1

Varnish 可能是适合您的解决方案。不过,您也可以继续使用其他东西。

尝试使用以下任一方法:

  1. 亚太经合组织
  2. 内存缓存

这些解决方案将加快 Apache 进程的支持访问并消除页面的数据库访问开销。

不过,我仍然建议您发布一个问题,询问您在实施 varnish 时遇到了什么问题,这些问题可能会得到解决,因为 varnish 对大多数人来说通常都很有效。

答案2

电子商务应用程序的供应商可能能够给出最好的答案。

从表面上看,它似乎希望在 HTTP 响应中添加某种缓存控制标头 - “Expires”标头或“Etag”。但是,您不一定想在任何地方添加这些,否则您可能会破坏某些东西,而用户确实需要全新的视图而不是转到缓存。

实际上,电子商务应用程序不调整这些标头是一种犯罪行为(知道缓存何时“过时”是应用程序最了解的事情)。我会寻找一个不同的。

此外,根据单个请求所需的时间判断,应用程序似乎无法处理您强加给它的类别和产品数量。它们可能执行一些涉及“表扫描”(大量磁盘 I/O)的 SQL 查询,或者执行一些涉及数据库内存中非常大的工作集的复杂查询(例如,对 300,000 条记录进行排序)。MySQL 数据库中的索引有时可以帮助解决这些问题,但同样,如果应用程序的安装程序添加这些索引会更好,因为首先需要知道应用程序可能发出哪些查询,然后才能针对这些查询优化数据库。另一个迹象表明您为这项工作选择了错误的电子商务应用程序。

相关内容