PHP网站优化

2022-08-30 16:32:28

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

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

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

在内存中缓存页面:

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

将其保存到磁盘

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

我应该使用哪种方法?


答案 1

Jan和idm是对的,但以下是操作方法:

缓存(页面或内容)是性能的关键。无论内容是静态的还是动态的,对数据库或文件系统请求的最小调用都更好。

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

我的建议是使用替代PHP缓存(APC)

以下是一些基准:

什么是最好的PHP加速器?

PHP加速器:APC vs Zend vs XCache with Zend Framework

Lighttpd – PHP Acceleration Benchmarks

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

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

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

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

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

雷迪斯 vs 梅马卡赫德

雷迪斯 vs 梅马卡赫德

雷迪斯 VS 梅马卡赫德(板凳稍微好一点)

关于Redis,Memcached,Speed,Benchmarks和The Toilet。

您还可以安装清漆nginxG-Wan

Varnish: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是一个Web服务器,具有ANSI C脚本和键值存储,其性能优于所有其他解决方案。

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

提供静态文件:Apache,Nginx,Varnish和G-WAN之间的比较

Web 服务器性能基准测试

Nginx+清漆与Nginx的比较

Apache,Varnish,nginx和lighttpd

G-WAN vs Nginx


答案 2

你有一个好主意,这接近我自己所做的。如果我有一个100%静态的页面,我会保存它的html版本并将其提供给用户,而不是每次都再次生成内容。在某些情况下,这可以节省mysql查询和多个io操作。每次我进行一些更改时,我的管理界面都会简单地删除html文件并重新创建它。

事实证明,这种方法在我的服务器上的速度提高了约100倍。


推荐