Сравнение Zip и шифрования - PullRequest
1 голос
/ 20 июня 2011

Итак, я создаю веб-приложение, в котором мне нужно зашифровать / расшифровать файлы, сжать их и отправить в браузер. Сайт на php (codeigniter), но фактический компонент, обслуживающий файлы, может быть на другом языке. Мне интересно, получу ли я какое-либо увеличение скорости, используя что-то помимо php, например, прямой c или даже сценарии оболочки? Пытаюсь сделать это правильно с первого раза. Спасибо, ребята.

1 Ответ

0 голосов
/ 05 октября 2011

Использование FastCGI + C / Python / Whwhat_fast может дать вам значительное улучшение производительности (в зависимости от специфики вашего варианта использования), причины этого:

  1. Stateful.PHP должен запускать новый процесс при каждом запросе, и никакие данные не могут быть легко использованы повторно.С FastCGI вы можете создавать огромные кэши в памяти.
  2. Больше контроля над происходящим.Фактически полный контроль.

На сайте Opencaching.pl был написан компонент на PHP, который генерировал изображения PNG для наложения виджета карт Google.Наложение работает путем рендеринга запрошенных изображений поверх карты, так что многие географические точки могут быть помечены без создания объектов DOM для каждого из них.Код состоял из SQL-запроса, извлекающего точки между заданными координатами и затем рисующего их на холсте с использованием встроенного в PHP API-интерфейса ImageMagick.Каждый вид карты приводил к нескольким запросам к PHP-сценарию, не говоря уже о просмотре и масштабировании.Спектакль был УЖАСНЫМ.Огромное использование памяти и ЦП.

Когда я переписал скрипт на C, используя FastCGI на Apache в качестве обслуживающего решения, оставив ту же логику, тот же SQL и обмен ImageMagick на SDL, угадайте, что, значительное улучшение!И неожиданно самым большим узким местом стала база данных, обеспечивающая еще лучшую графику.SDL - это библиотека игровой графики, поэтому ее производительность должна была быть лучше!С PHP вы ограничены медико-качественными библиотеками.

...