Модули Apache: модуль C против модуля python mod_wsgi - Производительность - PullRequest
1 голос
/ 31 мая 2010

Наш клиент просит нас внедрить модуль на C в веб-сервере Apache для повышения производительности. Этот модуль должен обрабатывать RESTful URI, обращаться к базе данных и возвращать результаты в формате JSON. Многие здесь рекомендуют python mod_wsgi - но для простоты программирования. Может кто-нибудь сказать мне, если есть существенная разница в производительности между решением Python mod_wsgi против Apache + C.module. Есть анекдоты? Указатели на некоторые исследования размещены в Интернете?

Ответы [ 3 ]

1 голос
/ 16 декабря 2010

Сценарии G-WAN ANSI C показали, что сценарии C имеют огромное значение с точки зрения скорости, см .:

gwan.com

Так что использование C может быть неплохой идеей ...

1 голос
/ 31 мая 2010

Этот модуль должен обрабатывать URI RESTful, обращаться к базе данных и возвращать результаты в формате json.

Звучит так, будто большая часть работы связана с вводом / выводом, поэтому при использовании C. вы не получите значительного прироста производительности.

Вот стратегия, которую я бы порекомендовал.

  1. Реализация на Python
  2. После того, как это сделано, профилируйте код, чтобы увидеть, есть ли какие-либо узкие места ЦП.
  3. Реализуйте только узкие места в C.
0 голосов
/ 04 апреля 2011

Если вы хотите получить лучшее из обоих миров: поддерживаемый код и скорость, используйте Cython (http://cython.org). Cython компилирует код Python (с дополнительной информацией о типе) в C или C ++, который, в свою очередь, компилируется в системный код.

...