压缩和加密基准比较

发布于 2024-11-16 11:20:16 字数 166 浏览 2 评论 0原文

所以我正在创建一个网络应用程序,我需要在其中加密/解密文件,将它们压缩并将它们发送到浏览器。该站点使用 php (codeigniter) 语言,但实际的文件服务组件可以使用不同的语言。我想知道是否可以通过使用 php 以外的东西(例如直接的 c 甚至 shell 脚本)来提高速度?尝试第一次就把事情做好。谢谢你们。

So I'm creating a web application where I need to encrypt / decrypt files, zip them up and send them to the browser. The site is in php (codeigniter), but the actual file serving component can be in a different language. I'm wondering if I'd get any kind of speed increase by using something aside from php, like straight c or even shell scripts? Trying to do it right the first time. Thanks guys.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清风疏影 2024-11-23 11:20:16

使用 FastCGI+C/Python/Whatever_fast 可以给您带来巨大的性能提升(取决于您的用例的具体情况),其原因是:

  1. 有状态。 PHP 必须在每个请求上启动一个新进程并且没有数据
    可以很容易地重复使用。使用 FastCGI,您可以创建巨大的内存缓存。
  2. 对正在发生的事情有更多的控制。实际上
    完全控制。

Opencaching.pl 站点有一个用 PHP 编写的组件,用于生成 PNG 图像以覆盖 Google 地图小部件。 Overlay 的工作原理是在地图顶部渲染所请求的图像,以便可以标记许多地理点,而无需为每个地理点创建 DOM 对象。该代码包括 SQL 查询,获取给定坐标之间的点,然后使用 PHP 的内置 ImageMagick API 将它们绘制在画布上。地图的每个视图都会导致对 PHP 脚本的多次查询,更不用说浏览和缩放了。表演很糟糕。海量内存和 CPU 使用率。

当我使用 Apache 上的 FastCGI 作为服务解决方案将脚本重写为 C 时,保留相同的逻辑、相同的 SQL 并将 ImageMagick 替换为 SDL,猜猜看,巨大的改进!突然间,最大的瓶颈变成了支持更好图形的数据库。 SDL是一个游戏图形库,所以它的性能必须更好!使用 PHP,您只能使用 medicore 优质库。

Using FastCGI+C/Python/Whatever_fast could give you massive performance improvements (depending on the specifics of your use case), the reasons for this are:

  1. Stateful. PHP has to start a new process on each request and no data
    can be easily reused. With FastCGI you can create huge in-memory caches.
  2. More control over what is happenning. Actually
    full control.

Opencaching.pl site had a component written in PHP that was generating PNG images for an overlay of a Google maps widget. Overlay works by rendering the requested images on top of the map so that many geographical points can be labeled without creating DOM objects for each of them. The code consisted of SQL query fetching the points between given coordinates and then drawing them on a canvas using PHP's built-in ImageMagick API. Each view of the map resulted in multiple queries to the PHP script, not mentioning browsing and zooming. The performance was HORRID. Massive memory and CPU usage.

When I rewrote the script to C using FastCGI on Apache as a serving solution, leaving the same logic, same SQL and swapping ImageMagick for SDL, guess what, maassive improvement! And suddenly the biggest bottleneck became the database allowing for even better graphics. SDL is a game graphics library so its performance had to be better! With PHP you are limited to medicore quality libraries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文