GD库占用内存大吗?

2024-02-29

我想在我的 PHP 脚本中使用 GD 库从外部服务器生成随机大图片的小缩略图。每次调用页面时,GD库都会重新生成缩略图并显示。

这会减慢服务器速度或消耗异常数量的内存吗?


GD使用大量内存。它将图像完全加载到内存中并将其解压缩,因此每个像素至少需要 32 位。尺寸为 800 x 600 的图像将耗尽:

800 * 600 * 32 位 = 15.4 兆位 = 2 MB

这只是加载图像。我听说如果你调整大小,它会使用两倍的内存,如果你的图像更大,它会占用更多的内存。

您确实应该考虑缓存缩略图,这样它们只需生成一次(这也会加快访问者的页面速度!)。

我现在还读到,您正在从外部服务器加载图像,在这种情况下,您确实必须缓存图像,因为否则您的访问者必须等待您先下载整个图像。如果外部服务器关闭或过载,并且您的访问者将不得不等待超时(这看起来像是您的服务速度缓慢),情况会变得更糟。除此之外,如果每次用户请求图像的缩略图时都下载图像,则会浪费大量带宽。


由于 GD 使用如此多的内存,因此使用 IMagick 扩展生成缩略图可能是值得的。 ImageMagick 在内存消耗方面确实可以更好地扩展,并且速度也非常快(但出于上述原因,您仍然应该缓存图像)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GD库占用内存大吗? 的相关文章

随机推荐

  • 发布后运行 exe 时出错:“此程序可能未正确安装”

    为什么在我发布项目后 我无法在关闭项目后仅运行我的 exe 您在 调试 文件夹中找到的那个 而不收到此错误消息 因此不使用我发布的项目 仍然只使用 exe 我创建了一个测试项目只是为了测试是否是这种情况 并且每次都会发生这种情况 创建一个新
  • 如何在Elasticsearch中查询IP范围?

    我想在ELK中查询IP范围 172 16 0 0到172 31 0 0 我尝试了两种查询方法 但都失败了 query bool should regexp DstIP 172 3 0 1 1 6 9 2 0 9 minimum should
  • 如何在 Awk 中使用单个正则表达式提取多个字符串

    我有以下字符串 Mike has XXX cats and XXXXX dogs MikehasXXXcatsandXXXXXdogs 我想将 Xs 替换为与 Xs 数量相对应的数字 I tried awk match 0 X a leng
  • 无法安装文本

    使用命令pip install textract我无法在 Ubuntu 16 04 Python 2 上安装 texttract 我收到以下错误 Collecting textract Requirement already satisfi
  • 如何从CollectionType中获取随机元素?

    这是我的示例代码 import Foundation ar4random uniform extension CollectionType where Self Index Distance Int var randomElement Se
  • 是否可以在模拟器上使用已发布的即时应用程序(BuzzFeed、Wish 等)?

    我已经在模拟器上运行了一个 hello world 即时应用程序 如下这个谷歌的教程 https developer android com topic instant apps getting started first instant
  • 如何在 PHP 中实现数字签名

    我必须在我们用 PHP 打印为 PDF 的证书中实现数字签名 该要求类似于注册商或子注册商等授权人员对证书进行数字签名 实施数字签名背后的基本思想是要知道 证书是由授权人数字签名的 并且是该授权人或其他没有权限的人创建的 注册商 分注册商对
  • PostgreSQL 有一个好的数据库建模工具吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在同一项目中跨表单使用类[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个具有几种不同形式的项目 Form1 Form2 Form3我还有一堂课叫CustomTools其中包含常用的验证程序和功能 cl
  • 计算两条曲线之间的面积

    我有一个包含曲线和直线的代码 我知道如何填充线下方和下方的区域 但我需要计算每个区域的面积值 这是代码 import matplotlib pyplot as plt import numpy as np x np arange 0 0 2
  • mamp mysql 无法启动

    我的 mysql 服务器有问题 当我启动 MAMP 时 Mysql 服务器不会启动 我尝试更改端口但没有帮助 我检查错误日志 发现以下内容 161010 09 21 07 mysqld safe Starting mysqld daemon
  • iPhone iOS UILabel 如何仅自定义 UITableView 详细文本标签的文本颜色?

    我正在开发一个界面原型 并使用故事板来实现 原型的一部分涉及将 UITableView 单元格的详细 UILabel 设置为某种颜色 我想避免必须手动重新着色故事板中的每个标签 我发现我可以使用 UILabel appearanceWhen
  • 多处理中的加入超时

    我有一个虚拟示例 我想在其中应用多重处理 考虑一个场景 其中有一串数字 我称之为帧 逐一传入 我想将其分配给当前可用的任何单个进程 所以我创建了 4 个正在运行的进程while循环 查看队列中是否有任何元素 然后对其应用函数 问题是当我jo
  • 在struts中从Angular 2发送和接收http post数据

    我正在尝试将 http post 数据从 Angular 4 代码发送到 struts 操作 Struts 操作正在被调用 但无法接收数据 给我一个错误 java lang ClassCastException java lang Inte
  • 使用 Swift 将 NSHttpCookie 存储在 iOS 钥匙串中

    我有一个以 HTTP cookie 形式从 Web 服务收到的身份验证令牌 目前 我依赖于 iOS 的默认行为 即将从 HTTP 请求返回的 cookie 存储在NSHTTPCookieStorage保留 cookie 直到用户关闭应用程序
  • 模型和实体有什么区别[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我很困惑不明白这句话的含义 Entity Model DataModel ViewModel 任何人都可以帮助我理解它们吗 这些术语的
  • 使用正则表达式获取 DIV 内容

    如何使用正则表达式获取 DIV 的内容 我需要得到的是介于两者之间的 div class lv1right dfbg div 这些 div 标签之间还有几个 未明确定义的 标签 我想获取所有这些标签 提前致谢 我会避免对 HTML 使用正则
  • 如何在 Ruby 中获取 Linux 系统信息

    如何在 Ruby 中获取 Linux 系统的软件 硬件信息 这必须适用于 Fedora Ubuntu 等 Chef 背后的优秀人员 拥有一颗名为 Ohai 的优秀宝石https github com opscode ohai https g
  • 这个“ld”错误(“未定义的引用”)是什么意思?

    这个错误是什么意思 tmp ccevEqoI o In function main funcptr c text 0x61 undefined reference to AddALL collect2 ld returned 1 exit
  • GD库占用内存大吗?

    我想在我的 PHP 脚本中使用 GD 库从外部服务器生成随机大图片的小缩略图 每次调用页面时 GD库都会重新生成缩略图并显示 这会减慢服务器速度或消耗异常数量的内存吗 GD使用大量内存 它将图像完全加载到内存中并将其解压缩 因此每个像素至少