PHP网站优化

标签 php performance caching optimization

我有一个高流量网站,我需要确保我的网站足够快,以便快速向所有人展示我的网页。

我在 Google 上搜索了许多关于速度和优化的文章,以下是我发现的:

  • 缓存页面
  • 将其保存到磁盘

在内存中缓存页面:

这非常快,但是如果我需要更改页面的内容,我必须将其从缓存中删除,然后将文件重新保存到磁盘上。

将其保存到磁盘

这很容易维护,但每次访问页面时我都必须在磁盘上读取。

我应该采用哪种方法?

最佳答案

Jan 和 idm 是对的,但方法如下:

缓存(页面或内容)对性能至关重要。无论您的内容是静态的还是动态的,您向数据库或文件系统请求的最少调用次数会更好。

如果需要运行动态内容,可以使用 PHP 加速器:

我的建议是使用 Alternative PHP Cache (APC)

这是一些基准:

What is the best PHP accelerator to use?

PHP Accelerators : APC vs Zend vs XCache with Zend Framework

Lighttpd – PHP Acceleration Benchmarks

对于缓存内容甚至页面,您可以使用:MemcachedRedis .

内存缓存: 免费和开源、高性能、分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态 Web 应用程序。 Memcached 是一种内存键值存储,用于存储来自数据库调用、API 调用或页面渲染结果的任意数据(字符串、对象)的小块。

Redis Redis 是一个开源的高级键值存储。它通常被称为数据结构服务器,因为键可以包含字符串、哈希、列表、集合和排序集合。

两者都是非常好的缓存内容或变量的工具。

这里有一些基准,你可以选择你喜欢的:

Redis vs Memcached

Redis vs Memcached

Redis VS Memcached (slightly better bench)

On Redis, Memcached, Speed, Benchmarks and The Toilet

你也可以安装Varnish , nginx , 或 G-Wan

清漆: Varnish 是专为内容繁重的动态网站设计的 HTTP 加速器。与其他 HTTP 加速器(例如 Squid(最初是作为客户端缓存)或 Apache(主要是源服务器))相比,Varnish 是从头开始设计为 HTTP 加速器的。

nginx nginx(发音为 ?engine-x?)是一个轻量级、高性能的 Web 服务器/反向代理和电子邮件 (IMAP/POP3) 代理,在类似 BSD 的许可下获得许可。它可以在 Unix、Linux、BSD 变体、Mac OS X、Solaris 和 Microsoft Windows 上运行。

g-wan G-WAN 是具有 ANSI C 脚本和键值存储的 Web 服务器,其性能优于所有其他解决方案。

这里有一些基准,你可以选择你喜欢的:

Serving static files: a comparison between Apache, Nginx, Varnish and G-WAN

Web Server Performance Benchmarks

Nginx+Varnish compared to Nginx

Apache, Varnish, nginx and lighttpd

G-WAN vs Nginx

关于PHP网站优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8258567/

相关文章:

javascript - 有什么更好的方法来设计句子生成器的内置统计函数?

python - 为什么错误比脚本本身花费的时间更长?

c# - DataCache 操作 - 验证成功

php - 如何在 PHP 中下载大于 2Gb 的文件?

php - 使用php导出mysql数据库数据

php - 在javascript函数中更新sql

c++ - 虚函数调用始终比普通函数调用更快。为什么?

c# - NEST ElasticSearch Cache QueryDescriptor供将来使用

angularjs - $cacheFactory 在页面重新加载时删除我的缓存

php - 表达式引擎: Synchronising development and live environments