[Web服务器对决] Nginx vs. Apache vs. LiteSpeed:2025年性能、功能与适用场景深度对比

更多服务器知识,尽在hostol.com

当你准备为你的网站或应用程序选择一款 Web 服务器软件时,就像是为你的“超级跑车”选择一款合适的“引擎”——它将直接决定你的“座驾”能跑多快、多稳、以及能适应什么样的“路况”(工作负载)。在当今的服务器领域,有三款“引擎”的呼声特别高,它们分别是:久经沙场的“老将”Apache HTTP Server,以并发性能著称的“后起之秀”Nginx,以及近年来凭借高性能和 Apache 兼容性崭露头角的“黑马”LiteSpeed Web Server (及其开源版本 OpenLiteSpeed)。

“这三个听起来都很牛,我到底该选哪个?” 这是很多开发者和服务器管理员都会遇到的经典难题。它们并非简单的“谁好谁坏”,而是各有各的“脾气秉性”和“擅长领域”。错误的选择可能会让你的服务器资源捉襟见肘,或者让你的网站在关键时刻“掉链子”。

这篇“深度对决”指南,就是要将这三位“武林高手”请上擂台,从它们的**核心架构、并发处理能力、静态与动态内容处理效率、配置灵活性、资源占用、安全性、模块扩展性、以及对 HTTP/2 和 HTTP/3 等新技术的支持程度**等多个维度,进行一次全方位的“切磋”。同时,我们也会结合不同的应用场景,分析它们各自的“最佳出战阵容”。目标是让你在了解了它们的“武功套路”之后,能够根据你自己的“战斗需求”(项目需求),为你的服务器挑选到那款最称心如意的“引擎”!

重要提示:Web 服务器的实际性能表现受硬件配置、操作系统、后端应用、网络环境以及具体的配置调优等多种因素影响。本文的性能讨论主要基于它们的架构特性和普遍的基准测试认知。在做最终决策前,如果条件允许,强烈建议在你自己的实际环境中进行测试!同时,请务必查阅各软件的官方文档获取最新信息。

参赛选手介绍:三巨头各显神通

在正式“比武”之前,我们先来认识一下这三位“参赛选手”的基本情况。

1. Apache HTTP Server - “老而弥坚”的“全能管家”

背景与定位: Apache (阿帕奇) 无疑是 Web 服务器领域的“元老级”人物,自上世纪 90 年代中期诞生以来,它曾一度占据了全球 Web 服务器市场的绝对统治地位。时至今日,它依然凭借其极高的稳定性、无与伦比的灵活性和庞大的模块生态系统,在众多网站和应用中发挥着中流砥柱的作用。你可以把它想象成一位经验丰富、功能全面的“大管家”,什么活儿都能干,而且非常可靠。

核心架构特点: Apache 的并发处理模型主要通过其 MPM (Multi-Processing Modules - 多路处理模块) 来实现,常见的有:

  • Prefork MPM: 采用多进程模型,每个进程处理一个连接,非常稳定,但比较消耗内存,不适合超高并发。是需要使用非线程安全模块(如早期版本的 mod_php)时的选择。
  • Worker MPM: 采用多进程 + 多线程模型,每个进程会启动多个线程来处理连接,相比 Prefork 更节省资源,能应对更高的并发。
  • Event MPM: 在 Worker MPM 的基础上,进一步优化了对 Keep-Alive 连接的处理,将服务连接的线程与处理请求的线程分离,能更好地处理大量并发的长连接,是现代 Apache 的推荐 MPM。

突出优势:

  • 极高的灵活性和可配置性: 拥有极其庞大和成熟的模块生态系统,几乎你能想到的任何功能(URL重写、认证授权、缓存、压缩、安全防护等)都有相应的官方或第三方模块支持。
  • .htaccess 分布式配置文件: 允许在网站的每个目录下放置 .htaccess 文件来覆盖主配置或添加特定规则,这对于共享主机环境或需要让用户自行修改部分配置的场景非常方便(但过多使用会略微影响性能)。
  • 广泛的兼容性和社区支持: 几乎所有的操作系统和 Web 应用都完美支持 Apache,遇到问题时很容易找到解决方案和社区帮助。

潜在短板:

  • 在高并发连接下(特别是使用 Prefork MPM 时),内存占用可能较大,性能表现有时不如事件驱动架构的 Nginx 或 LiteSpeed。
  • 核心配置 (httpd.conf) 相对 Nginx 可能稍显复杂一些。

授权模式: 开源 (Apache License 2.0),完全免费。

2. Nginx - “并发之王”,轻量高效的“急先锋”

背景与定位: Nginx (发音 Engine-X) 诞生之初就是为了解决 C10k 问题(即单台服务器如何处理上万个并发连接)而设计的。它采用了与 Apache 截然不同的事件驱动、异步非阻塞架构,使其在处理高并发连接和提供静态内容方面表现极其出色,并且资源消耗极低。你可以把它想象成一位身手敏捷、反应神速的“急先锋”,特别擅长处理“人山人海”的场面。

核心架构特点:

  • 事件驱动 (Event-driven)、异步非阻塞 I/O 模型: Nginx 使用少量的工作进程 (Worker Processes),每个工作进程通过一个高效的事件循环机制(如 epoll on Linux, kqueue on FreeBSD)来异步处理成千上万个并发连接,而不会为每个连接都创建一个新的进程或线程。这大大降低了上下文切换的开销和内存占用。

突出优势:

  • 超强的高并发处理能力: 在处理大量并发连接(特别是长连接和慢连接)时,性能稳定且资源消耗低。
  • 静态文件处理性能极佳: Nginx 在提供静态文件服务方面效率非常高。
  • 内存占用低: 相比 Apache 的 Prefork 模式,Nginx 在同等并发下的内存占用要小得多。
  • 强大的反向代理和负载均衡功能: Nginx 最初作为反向代理服务器而闻名,其配置简单且性能出色,非常适合用作前端代理、负载均衡器或 API 网关。

潜在短板:

  • 动态内容处理依赖外部: Nginx 本身不直接执行 PHP、Python 等动态脚本,而是通过 FastCGI, uWSGI, HTTP 等协议将动态请求转发给后端的应用服务器(如 PHP-FPM, Gunicorn)处理。这使得初始配置(特别是 Nginx 与 PHP-FPM 的配合)可能比 Apache 的 mod_php 模式稍复杂一点。
  • 没有类似 .htaccess 的分布式配置: Nginx 的所有配置都集中在主配置文件和包含的虚拟主机文件中,不支持目录级的 .htaccess 文件。这对于需要高度集中控制配置的管理员来说是优点,但对于共享主机用户或习惯了 .htaccess 的开发者可能稍有不便。

授权模式: 核心功能开源 (类 BSD 的宽松许可证),完全免费。Nginx 公司也提供商业版的 Nginx Plus,包含更多高级功能和专业支持。

3. LiteSpeed Web Server (LSWS/OpenLiteSpeed) - “性能黑马”,Apache 的“兼容挑战者”

背景与定位: LiteSpeed Web Server (LSWS) 是一款商业 Web 服务器软件,它从一开始就将目标锁定在提供比 Apache 更高性能的同时,保持与 Apache 的良好兼容性(比如可以直接读取 Apache 的配置文件和 .htaccess 规则)。它也采用了与 Nginx 类似的事件驱动架构。OpenLiteSpeed (OLS) 则是 LiteSpeed 公司推出的开源版本,核心引擎与 LSWS 相同,但在功能和一些限制上有所区别。

你可以把 LiteSpeed 想象成一位既想拥有 Apache 的“群众基础”(兼容性),又想学到 Nginx 的“轻功”(高性能并发)的“武学奇才”。

核心架构特点:

  • 事件驱动架构: 与 Nginx 类似,为高并发优化。
  • 与 Apache 的高度兼容性: 这是它的一大卖点。LSWS 通常可以直接读取 Apache 的主配置文件 (httpd.conf) 和目录下的 .htaccess 文件,并兼容大部分 Apache 的模块和重写规则。这使得从 Apache 迁移到 LiteSpeed 通常比较平滑。

突出优势:

  • 卓越的性能表现: 在很多第三方基准测试中,LSWS(特别是其商业版)在处理动态内容(尤其是 PHP)和静态内容方面,常常表现出优于 Apache 甚至 Nginx 的性能。其自有的 PHP 实现 (LSPHP) 与服务器内核紧密集成,效率较高。
  • 强大的内置缓存机制 (LSCache): LiteSpeed 提供了非常强大且易于配置的页面缓存和对象缓存解决方案——LSCache。特别是对于 WordPress, Joomla, Magento 等流行的 CMS,有官方的 LSCache 插件可以实现高效的全页缓存和动态内容缓存,对网站加速效果显著。
  • 对 HTTP/3 (QUIC) 的优秀支持: LiteSpeed 通常在支持最新的网络协议(如 HTTP/3)方面比较积极和领先。
  • Apache 兼容性带来的便利: 如果你习惯了 Apache 的配置方式或依赖 .htaccess,LiteSpeed 能让你在享受高性能的同时,减少迁移和学习成本。

潜在短板与版本差异:

  • LiteSpeed Web Server Enterprise (LSWS): 这是商业版,功能最全,性能最好,但需要购买授权,价格可能不菲。
  • OpenLiteSpeed (OLS): 这是开源免费版。核心引擎与 LSWS 相同,性能依然出色,但也存在一些限制:
    • 官方免费版的 OLS 通常只支持单个工作进程(虽然可以通过一些技巧调整,但不如 LSWS 多进程灵活)。
    • OLS 读取 Apache 配置文件和 .htaccess 的能力可能不如 LSWS 那么完美,并且配置更改后通常需要重启 OLS 服务才能生效(LSWS 可以平滑重载)。
    • 一些高级功能或控制面板(如 cPanel, Plesk)的深度集成通常只针对 LSWS。
    尽管如此,OpenLiteSpeed 对于很多中小型网站来说,仍然是一个非常有吸引力的高性能免费选择,特别是配合 LSCache for WordPress。

授权模式: LiteSpeed Web Server Enterprise 是商业收费软件。OpenLiteSpeed 是开源 (GPLv3) 免费软件。

功能大比拼:核心能力与特色功能逐个数

现在,让我们从几个关键的功能维度,来细致比较一下这三位“选手”:

1. 架构与并发处理能力

这是它们最核心的区别所在。

  • Apache: 其传统的 Prefork MPM(每个请求一个进程)在高并发下内存消耗大,上下文切换开销也大。Worker 和 Event MPM(进程+线程,事件驱动优化)在高并发下表现更好,但与纯事件驱动的 Nginx/LiteSpeed 相比,理论上仍有差距。
  • Nginx: 天生为高并发而生。其异步非阻塞事件驱动模型,用极少的固定工作进程就能高效处理成千上万的并发连接,资源利用率极高。是处理 C10k/C100k 问题的利器。
  • LiteSpeed (LSWS/OLS): 同样采用事件驱动架构,在高并发处理能力上与 Nginx 看齐,甚至在某些特定场景(如 PHP 处理)下可能更优。

小结: 在纯粹的**高并发连接处理**方面,Nginx 和 LiteSpeed 通常优于 Apache

2. 静态文件与动态内容处理

  • 静态文件: Nginx 和 LiteSpeed 在处理静态文件(HTML, CSS, JS, 图片等)方面效率都非常高,通常比 Apache 更快、资源消耗更低。Apache 也能很好地处理静态文件,但可能不是最优。
  • 动态内容 (以 PHP 为例):
    • Apache + mod_php: PHP 作为 Apache 的一个模块直接运行在 Apache 进程内部。配置简单,但每个 Apache 进程都会加载 PHP 解释器,内存消耗大,不适合高并发。
    • Apache/Nginx + PHP-FPM: 这是目前主流的方式。Web 服务器通过 FastCGI 协议与独立的 PHP-FPM 进程池通信。Nginx 必须用这种方式。Apache 也可以用这种方式(比 mod_php 更节省资源,性能更好)。
    • LiteSpeed + LSPHP: LiteSpeed 使用其自有的 LSPHP 接口与 PHP 交互,据称比 FastCGI 更高效,因为它与 PHP 的集成更紧密。这通常是 LiteSpeed 在 PHP 性能测试中表现出色的原因之一。

小结: 静态文件 Nginx/LiteSpeed 胜出。动态内容(特别是 PHP),LiteSpeed (LSWS/OLS) 往往有性能优势,其次是 Nginx+PHP-FPM,再是 Apache+PHP-FPM,最后是 Apache+mod_php。

3. 配置灵活性与易用性

  • Apache: 主配置文件 (httpd.conf/apache2.conf) 庞大复杂,但其支持目录级的 .htaccess 文件进行分布式配置,这对于共享主机环境或需要用户自行修改部分规则的场景非常灵活方便(但也可能因为频繁读写检查 .htaccess 而略微影响性能)。
  • Nginx: 所有配置都集中在主配置文件 (nginx.conf) 和其包含的虚拟主机配置文件中,语法简洁、高效、逻辑清晰。不支持 .htaccess,所有规则需在服务器配置中定义,这对于需要集中管理、追求高性能的管理员来说是优点,但对于习惯了 .htaccess 的用户可能需要适应。
  • LiteSpeed: LSWS 提供了图形化的 Web Admin Console 进行配置,同时也支持类似 Apache 的文本配置文件格式,并且能很好地兼容 Apache 的 .htaccess 文件。OLS 通常也需要修改文本配置文件,但也有一个基础的 Web Admin Console。易用性介于 Apache 和 Nginx 之间,对 Apache 用户迁移比较友好。

小结: Apache (因 .htaccess) 和 LiteSpeed (因 GUI 和 Apache 兼容) 在某些方面对用户更“友好”或“灵活”;Nginx 配置更“纯粹”和“高性能导向”。

4. 内存占用与资源效率

在高并发下:

  • Nginx 和 LiteSpeed (LSWS/OLS): 由于其事件驱动架构,通常只需要少量的工作进程/线程就能处理大量连接,因此**内存占用较低,资源利用效率较高**。
  • Apache (特别是 Prefork MPM): 每个连接(或进程)都需要消耗一定的内存,并发数一高,总内存占用可能非常可观。Worker/Event MPM 会好很多,但通常仍高于 Nginx/LiteSpeed。

小结: 在资源效率方面,Nginx 和 LiteSpeed 明显优于 Apache

5. 模块与扩展性

  • Apache: 拥有最庞大、最成熟的模块生态系统,几乎你能想到的任何功能都有现成的官方或第三方模块支持。模块的加载和配置也非常灵活。
  • Nginx: 模块数量虽然不如 Apache 多,但也覆盖了绝大多数常用功能。很多核心功能(如反向代理、负载均衡、SSL、Gzip)都是内置的。第三方模块也日益丰富,但有时添加第三方模块可能需要重新编译 Nginx(虽然现在很多模块也支持动态加载)。
  • LiteSpeed: 内置了许多常用功能(如缓存、安全防护),并且兼容大部分 Apache 模块,扩展性也不错。

小结: Apache 在模块的“量”上胜出;Nginx 的核心模块质量高且高效;LiteSpeed 则通过内置和兼容 Apache 模块来提供扩展性。

性能基准:谁是2025年的“速度之王”?(概念性探讨)

...

价格与授权:免费午餐还是付费盛宴?

...

场景选型:为你的“战车”选择合适的“引擎”

...

结论:三足鼎立,各有所长,按需选择是关键

经过一番“华山论剑”,我们可以看到,Nginx、Apache 和 LiteSpeed (LSWS/OLS) 这三位 Web 服务器领域的“武林高手”,在 2025 年依然是各有所长,共同塑造着我们今天和未来的网络世界。它们之间并没有绝对的“谁最强”,只有在特定场景下“谁更合适”。

简单总结一下它们的“人设”和“绝招”:

  • Apache HTTP Server: 这位“老前辈”就像一位经验丰富、人脉广博的“武林盟主”,虽然可能在某些“极限速度”比拼上略逊于后辈,但胜在“内功深厚”(稳定性好)、“兵器谱齐全”(模块生态极其丰富)、以及“江湖规矩通达”(.htaccess 带来的灵活性)。它依然是很多需要高度定制化、或者依赖特定 Apache 模块的复杂应用的可靠选择,也是很多控制面板(如 cPanel)的默认搭档。
  • Nginx: 这位“后起之秀”则像一位身法诡异、出手快如闪电的“刺客”或“先锋大将”。它天生为高并发而生,在处理海量连接、提供静态内容、以及作为反向代理和负载均衡器方面,效率奇高且资源消耗极低。它是构建现代化、高并发、可扩展 Web 架构的核心组件。
  • LiteSpeed Web Server (及 OpenLiteSpeed): 这位“挑战者”则像一位博采众长、试图融合两家之长的“武学奇才”。它借鉴了 Nginx 的事件驱动架构以追求高性能,同时又努力保持与 Apache 的兼容性(特别是 .htaccess 和部分模块),并且在动态内容处理(尤其是 PHP 配合 LSCache)和对新协议(如 HTTP/3)的支持上往往表现抢眼。LSWS 企业版是追求极致性能和 Apache 平滑迁移的商业选择,而 OpenLiteSpeed 则为社区提供了一个强大的免费高性能替代方案。

那么,你到底该选哪个“引擎”来驱动你的“数字战车”呢?最终的决定,还是要回到你**自身的具体需求、技术栈偏好、团队技能、预算考量、以及你对性能、稳定性、灵活性和易用性的权衡**。

没有一劳永逸的“最佳选择”。深入理解它们的特性,结合你的实际场景进行测试和评估,才能找到那个最能让你的网站或应用“如虎添翼”的 Web 服务器。祝你选型顺利!


还有疑问?常见问题解答 (FAQs)

  1. 问: 我可以同时在一台服务器上安装和运行 Nginx 和 Apache (或 LiteSpeed) 吗? 答: 可以,但通常不是直接让它们监听同一个端口。 一种非常常见的做法是使用 **Nginx 作为前端反向代理**(监听公网的 80/443 端口),负责处理静态文件请求、SSL 卸载、负载均衡等,然后将动态请求(比如 PHP)转发给运行在**不同端口**(例如 8080)或通过 socket 通信的后端 Apache 或 LiteSpeed(或者 PHP-FPM)。这种架构可以结合 Nginx 在高并发和静态文件处理上的优势,以及 Apache/LiteSpeed 在动态内容处理或特定模块上的优势。直接让它们竞争同一个标准端口是行不通的。
  2. 问: OpenLiteSpeed (OLS) 免费版和 LiteSpeed Web Server Enterprise (LSWS) 商业版,对于普通建站用户来说,性能和功能差距真的很大吗? 答: 对于很多中小型网站(比如 WordPress 博客、企业官网),OpenLiteSpeed 提供的性能(特别是配合 LSCache 插件时)已经非常出色,可能感觉不出与 LSWS 企业版的巨大差异。主要差异在于: 1) **并发处理能力:** LSWS 企业版通常能更好地利用多核 CPU,支持更多的工作进程,在高并发下的表现更稳定。OLS 免费版官方通常限制为单工作进程(虽然可以通过一些配置技巧调整,但不如企业版直接)。2) **Apache 兼容性:** LSWS 企业版对 Apache 配置(如 .htaccess)的兼容性和重载机制通常更完善。3) **缓存功能:** LSCache 的某些高级特性或 ESI (Edge Side Includes) 等可能只在企业版中提供或支持更好。4) **控制面板集成与支持:** 像 cPanel, Plesk 这类主流控制面板通常只正式支持 LSWS 企业版作为 Apache 的替代品。5) **商业支持:** 企业版提供官方的商业技术支持。结论: 如果预算有限,且并发要求不是特别极端,OLS 是一个非常棒的高性能免费选择;如果追求极致性能、稳定性、完整兼容性和商业支持,LSWS 企业版更合适。
  3. 问: 从 Apache 迁移到 Nginx 或 LiteSpeed 复杂吗?我的网站会有什么风险? 答: 迁移的复杂度取决于你当前 Apache 配置的复杂程度以及你对新 Web 服务器的熟悉程度。1) **Nginx:** 如果你大量使用了 .htaccess 文件进行 URL 重写、访问控制等,迁移到 Nginx 时需要将这些规则手动转换为 Nginx 的配置文件语法(因为 Nginx 不支持 .htaccess),这可能是最耗时和最容易出错的部分。但一旦转换完成,Nginx 的集中式配置管理起来更清晰。2) **LiteSpeed (LSWS):** 由于 LSWS 设计上高度兼容 Apache 配置,可以直接读取大部分 httpd.conf.htaccess 规则,迁移过程通常会平滑得多风险: 任何迁移都有风险,比如规则转换不完全导致部分功能异常、新服务器配置不当导致性能或安全问题等。务必在测试环境中进行充分的迁移演练和功能验证,确认一切正常后再切换到生产环境。做好数据和配置的完整备份是必须的!
  4. 问: 在安全性方面,Nginx, Apache, LiteSpeed 哪个更好? 答: 没有绝对的“哪个更安全”。这三款 Web 服务器的核心代码都经过了长时间的考验和广泛的安全审计,它们本身都是相对安全的。服务器的安全性更多地取决于:1) **正确的配置:** 是否关闭了不必要的模块和服务?是否限制了目录访问权限?是否配置了安全的 SSL/TLS 加密套件?2) **及时的更新与补丁:** 是否能及时将 Web 服务器软件本身及其依赖的库(如 OpenSSL)更新到最新版本,修复已知的安全漏洞?3) **应用层安全:** Web 服务器只是第一道防线,运行在它之上的网站或应用程序本身(如 WordPress 插件/主题、PHP代码)的漏洞往往是更容易被攻击的入口。4) **WAF (Web 应用防火墙) 的使用:** 如 ModSecurity (Apache/Nginx/LiteSpeed 都支持) 能提供更深层次的应用层攻击防护。结论: 选择任何一款,都需要你采取积极的安全加固措施和保持警惕。
  5. 问: 我使用像宝塔 (BT Panel) 或 aaPanel 这样的服务器控制面板,它们通常默认使用哪种 Web 服务器?我还能自己选择或切换吗? 答: 像宝塔、aaPanel 这类控制面板通常都提供了**多种 Web 服务器环境的安装选项**。在它们的一键安装 LNMP/LAMP 环境包时:
    • 选择 LNMP 通常意味着安装 **Nginx** + MySQL/MariaDB + PHP。
    • 选择 LAMP 通常意味着安装 **Apache** + MySQL/MariaDB + PHP。
    很多面板(如宝塔)还允许你在已安装一种环境后,再**额外安装**另一种 Web 服务器(比如同时安装 Nginx 和 Apache),甚至提供在它们之间进行**切换**(比如让 Nginx 做前端,Apache 做后端处理特定请求)的图形化配置界面。有些面板(比如宝塔的付费插件)甚至还支持一键安装和切换到 **OpenLiteSpeed**。所以,是的,通过这些面板,你通常可以比较方便地选择或在一定程度上切换你想要使用的 Web 服务器类型,而无需从头手动配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/80872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一款适配国内的视频软件,畅享大屏与局域网播放

软件介绍 今天要给大家安利一款超强视频播放软件——MXPlayer。它的解码实力堪称一绝,市面上不管是常见的 MP4、MKV 格式,还是对播放设备要求极高的超高清 4K、HDR 视频,甚至那些鲜为人知的冷门格式,它统统都能流畅播放&#xff…

[CSS3]百分比布局

移动端特点 PC和手机 PC端网页和移动端网页的有什么不同? PC屏幕大,网页固定版心手机屏幕小,网页宽度多数为100% 谷歌模拟器 使用谷歌模拟器可以在电脑里面调试移动端的网页 屏幕尺寸 了解屏幕尺寸概念 屏幕尺寸: 指的是屏幕对角线的长度&#xff…

【低代码】如何使用明道云调用 Flask 视图函数并传参(POST 方法实践)

在自动化办公或业务流程管理中,明道云提供了强大的 HTTP 请求节点,可以直接调用第三方 API,包括我们常见的 Flask 服务端接口。本文将详细介绍如何使用明道云通过 POST 方法调用 Flask 视图函数并传参,包括配置要点与 Python 后端的参数接收方法。 一、场景介绍 我们希望…

在 Azure OpenAI 上使用 Elastic 优化支出和内容审核

作者:来自 Elastic Muthukumar Paramasivam,Bahubali Shetti 及 Daniela Tzvetkova 我们为 Azure OpenAI 正式发布包添加了更多功能,现在提供内容过滤监控和计费见解的增强! 在之前的博客中,我们展示了如何使用 Elasti…

iOS解码实现

import Foundation import VideoToolboxclass KFVideoDecoderInputPacket {var sampleBuffer: CMSampleBuffer? }class KFVideoDecoder {// MARK: - 常量private let kDecoderRetrySessionMaxCount 5private let kDecoderDecodeFrameFailedMaxCount 20// MARK: - 回调var pi…

Redis应用--缓存

目录 一、什么是缓存 1.1 二八定律 二、使用Redis作为缓存 三、缓存的更新策略 3.1 定期更新 3.2 实时生成 四、缓存预热、缓存穿透、缓存雪崩和缓存击穿 4.1 缓存预热 4.2 缓存穿透 4.3 缓存雪崩 4.4 缓存击穿 一、什么是缓存 缓存(cache)是计算机的一个经典的概念…

Unity 喷烟喷气特效:喷快消失慢

快速喷气缓慢消失同时播放3*3序列帧动画。常用在火车烟囱特效、气体释放、摔倒、等效果中,可变种应用场景较多。 下列为Particle System参数: Color over Lifetime参数: UnityEditor.GradientWrapperJSON:{"gradient":{"ser…

关于收集 Android Telephony 网络信息的设计思考2

需求: 目标1: Android Telephony data(数据模块)侧收集多源(ServiceStateTracker/ImsService/其他)网络状态信息。目标2: 收集的数据需统一上报/存储到外部App的Provider。字段分散,不方便只在ServiceStateTracker中收集和插入。多触发点/多场景,需要统一插入。一、架构…

Elasticsearch 深入分析三种分页查询【Elasticsearch 深度分页】

前言: 在前面的 Elasticsearch 系列文章中,分享了 Elasticsearch 的各种查询,分页查询也分享过,本篇将再次对 Elasticsearch 分页查询进行专题分析,“深度分页” 这个名词对于我们来说是一个非常常见的业务场景&#…

CodeBuddy(腾讯云代码助手)最新功能——智能体 Craft 体验

文章目录 📋 前言🎯 关于智能体 Craft🎯 智能体 Craft 体验🧩 安装方法🧩 如何使用🧩 Craft 初体验🧩 Craft 生成代码效果体验 📝最后 📋 前言 CodeBuddy(腾讯…

05 接口自动化-框架封装思想建立之httprunner框架(中)

文章目录 一、httprunner常规的关键字详解httprunner测试用例的结构简化: 二、httpruner接口自动化项目架构三、环境变量四、代码项目框架如下图:api/wx_get_token.ymlapi/wx_get_tag.ymltestcases/wx_get_tag.ymltestsuites/wx_get_tag.yml.env 一、htt…

LabVIEW中EtherCAT从站拓扑离线创建及信息查询

该 VI 主要用于演示如何离线创建 EtherCAT 从站拓扑结构,并查询从站相关信息。EtherCAT(以太网控制自动化技术)是基于以太网的实时工业通信协议,凭借其高速、高效的特性在自动化领域广泛应用。与其他常见工业通讯协议相比&#xf…

java的synchronized 原理及功能

简介: Java中的synchronized关键字是一种同步机制,用于控制多个线程对共享资源的访问。 原理: 在Java锁有一个内部锁 Intrinsic Lock,也称为监视器锁或管程锁,每个Java对象都有一个关联的监视器锁,隐式锁…

HarmonyOS NEXT端云一体化工程目录结构

视频课程学习报名入口:HarmonyOS NEXT端云一体化开发 端云一体化开发工程由端开发工程(Application)和云开发工程(CloudProgram)两大核心模块构成。 1)端开发工程目录结构 端开发工程主要用于开发应用端侧的业务代码,通用云开发模板的端开发工程目录结构如下图所示: …

普通用户的服务器连接与模型部署相关记录

普通用户的服务器连接与模型部署相关记录 一、从登录到使用自己的conda 1.账号登陆: ssh xxx172.31.226.236 2.下载与安装conda: 下载conda: wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh 安装con…

亲测有效!OGG 创建抽取进程报错 OGG-08241,如何解决?

前言 今天在测试 OGG 一个功能的时候,需要重新初始化 oggca,所以重装了一下 OGG。重建完之后重新添加抽取进程报错,一直无法添加成功: 经过一翻分析,找到了解决方案,本文记录一下解决过程。 问题描述 OG…

Docker构建 Dify 应用定时任务助手

概述 Dify 定时任务管理工具是一个基于 GitHub Actions 的自动化解决方案,用于实现 Dify Workflow 的定时执行和状态监控。无需再为缺乏定时任务支持而感到困扰,本工具可以帮助设置自动执行任务并获取实时通知,优化你的工作效率。 注意&…

ubuntu24.04+RTX5090D 显卡驱动安装

初步准备 Ubuntu默认内核太旧,用mainline工具安装新版: sudo add-apt-repository ppa:cappelikan/ppa sudo apt update && sudo apt full-upgrade sudo apt install -y mainline mainline list # 查看可用内核列表 mainline install 6.13 # 安装…

网络爬虫(Web Crawler)详解

网络爬虫(Web Crawler)详解 1. 基本概念与核心目标 定义: 网络爬虫是一种自动化的程序,通过HTTP协议访问网页,提取并存储数据(如文本、链接、图片),并根据策略递归访问新链接。核心目标: 数据采集:抓取特定网站或全网公开数据。索引构建:为搜索引擎提供页面内容(如…

大模型如何助力数学可视化?

大家好,我是 i 学习的老章 在数学学习和教学中,将抽象概念可视化对于理解至关重要。Manim 是一个强大的数学动画引擎,由著名数学科普视频作者 3Blue1Brown 开发并广为人知。 老章较早之前就介绍过 manim:B 站上爆红的数学视频&a…