Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Флейм
  • » Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП) [RSS Feed]

#1 Фев. 6, 2008 01:51:30

azecm
От:
Зарегистрирован: 2008-02-06
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)

Несколько вопросов
- будет ли выигрыш в ресурсах у Питона
т.е. потянет ли проект на питоне больше народу при использовании таких БД как MySQL или PostgreSQL
- как лучше подключать питон для максимальной производительности, но и чтобы ресурсы не кушал
(в теме недавно могу далее дать совершенно неграмотные записи)
- nginx+FastCGI
- nginx+CherryPyWSGIServer
- apache+CherryPyWSGIServer
- apache+mod_wsgi

- реально ли писать на питоне без фреймворкоф, я не тороплюсь. ПХП без них заметно быстрее работает.
На сколько или во сколько раз при этом замедляется разработка? На сколько фреймворки тормозят?

Или все упрется в скорость взаимодействия с базой данных? Какую из бесплатных лучше использовать?

—————————–
Сейчас вот проект на VDS на PHP + MySql
6 тыс в сутки - 30 тыс хитов
Начинает подтормаживать - время построения страницы довольно часто стал превышать 2 секунды
Памяти 256 мб, процессора 700 МГц
Может кто скажет - это нормально, или просто мне надо код оптимизировать :-))

Проект будет расти посматриваю на Питон. Но не ясно будет ли выигрышь. При условии что я сам не оплошаю :-))



Офлайн

#2 Фев. 6, 2008 06:42:11

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)

azecm
Памяти 256 мб, процессора 700 МГц
сколько виртуальная память?
и наверное лучше поставь железо получше



Офлайн

#3 Фев. 6, 2008 09:36:40

azecm
От:
Зарегистрирован: 2008-02-06
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)

pythonwin
сколько виртуальная память?
512 мб



Офлайн

#4 Фев. 6, 2008 10:14:28

Teddy Bear
От:
Зарегистрирован: 2007-03-02
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)

По поводу процессорного времени - на конференции Сагалаев утверждал, что по большому счету производительность того или иного скриптового языка/фреймворка для веб-программирования особого значения не имеет (даже для очень крупных проектов). Все дело в том, что в конечном счете узким местом будет время выполнения запроса SQL-сервером + время доставки готовой страницы по сети конечному пользователю. Поэтому, при выборе языка/веб-фреймворка в первую очередь стоит руководствоваться соображениями удобства и скорости разработки и Питон здесь вне конкуренции ;).
Что же касается использования памяти, то тут сложнее. Питон вроде как потребляет памяти несколько больше чем ПХП, кроме того, потребление памяти зависит от того как он запущен (FastCGI или mod_python).
Ну и помимо этого, следует учитывать, что для работы с Питоном в большинстве случаев потребуется выделенный сервер (хоть бы и виртуальный).
Писать на Питоне без фреймворков имеет смысл только если сайт со статикой, либо с простенькой динамикой, без авторизации юзеров и не будет требовать частой доработки/изменений.



Офлайн

#5 Фев. 6, 2008 16:04:33

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)

Я в общем случае заметил - что ПХП работает со строками и массивами не слишком эффективно.
На питоне - получается быстрее раза в 3.
Для соверменных фреймворков - это наверное важно.



Офлайн

#6 Фев. 6, 2008 22:34:11

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)

Все примерно так и есть.
Не нужно мерять скорость по арифметике, выполнению цикла или конкатенации строк.
В таком случае ассемблер быстрее всех.
Но для каждого языка есть свои приемы.
Сравните

l=
s1 = ''
for i in xrange(len(l)):
s1 += l
s2 = ''.join(l)

Выигрыш в производительности получается на более высоком, архитектурном уровне.
И вопрос в том, как тот или иной язык к этому готов.
По моему мнению, Питон здесь гораздо сильнее PHP.

И последнее замечание по скорости.
Есть такие системы контроля версий: Subversion, Mercurial, Bazaar.
Последние две - на питоне. И они быстрее сишного Subversion. Хотя С быстрее Питона на элементарных операциях попросту несопоставимо.

В большой системе становится не очень важна скорость выполнения этих минимальных блоков.
Куда важнее то, что получается в результате.



Офлайн

#7 Фев. 6, 2008 22:55:20

azecm
От:
Зарегистрирован: 2008-02-06
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)

А на сколько процентов питон больше есть памяти чем пхп???
я смотрел у себя на VDS (mod_php) каждый httpd потребляет 15 мб
Сколько будет если сюда же добавить еще и mod_python?
И сколько будет если запустить только mod_python?
В режиме fast_cgi - сколько он кушает?
В режиме nginx +fast_cgi - сколько он кушает?

Вопрос к тому сколько надо VDS-у памяти чтоб хватало на тысяч 20 посетителей в день?

Вот думаю SQL вообще нафиг может быть
Оставить его только для форумов, поиска и может быть для тех кто авторизовался.

Что быстрее
- подключится к SQL
запросить шаблон
статью
- или взять шаблон из файла
найти статью на диске
- что быстрее начнет затыкаться?

И второй вопрос
- при реализации без SQL что быстрее создаст страницу php или python без фремворков? Будет ли питон быстрее хотя бы раз в 5?

Без фреймворком можно ли на питоне
- подключаться к MySQL и работать сней
- работать с изображениями
- работать с кукисами и сессиями
- работать с XML
- аналог curl (загружать странички с сайтов и претворяться броузером)
- работать с кодировками



Отредактировано (Фев. 6, 2008 23:00:14)

Офлайн

#8 Фев. 7, 2008 16:22:39

azecm
От:
Зарегистрирован: 2008-02-06
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)

Мдя всё понял - надо действовать :-)



Офлайн

#9 Фев. 8, 2008 23:23:32

azecm
От:
Зарегистрирован: 2008-02-06
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)

Свершилось.
Долго выбирал. Остановился на apache + mod_wsgi
Потому как я пока не спец чтобы и сервер и т.д. ставить.
Начать решил с простого.
А тут стал разбираться и оказалось что покрайней мере дома вообще халява
Работаю на Mas OS Leopard и уже стоит
- apache 2
- mod_php
- mod_fcgi
- perl
- python 2.5

Ну в общем можно было и так ничего не делать, но решился поставить mod_wsgi
За сутки справился :-)))) Точней с ним всё часов за 5 получилось, а вот написать единственную строку в конфигурации апача и эта кодировка файлов питона ….

В общем сравнил быстродействие
mod_php (2.26845 сек) mod_wsgi(1.57470 сек) и mod_fcgi(2.03536 сек)

mod_wsgi не шибко но чуть быстрее что приятно

Собственно прога читает лог файл 20мб и проверяет каждую строку на соответствие регулярным выражением

Был удивлен скоростью при использование в питоне
re.search - чуть медленнее чем ПХП
re.match - собственно та цифра что указана

В общем предвижу много тонкостей - примерно час разбирал ошибку с лишним табулятором в начале строки :-)))) все перепробовал, а оказалось ….

Осталось только на сервере понять как обновить питон до 2.5 и забацать туда wsgi
И посмотреть на питона в бою.


mod_wsgi
# -*- coding: windows-1251 -*-

import time
import re

def application(environ, start_response):
prog=re.compile("(\S*) (\S*) (\S*) \ \“(.*)\” (\S*) (\S*) \“(.*)\” \“(.*)\”“)
t = time.time()
output = ‘<h1>Hello World</h1>\n’
f=open('/Library/WebServer/CGI-Executables/hnh.ru.access.txt')
for line in f:

result = prog.match(line)
if result==None:
output = output + ‘\n- ошибка’
else:
output = output + result.group(1)
f.close()
output = output + ”\n<p style=\“color:#red\”>“ + ”%.5f“ % (time.time()-t) + ”</p>"
status = ‘200 OK’
response_headers = [('Content-type', ‘text/html’),
('Content-Length', str(len(output)))]
start_response(status, response_headers)

return
mod_php
function Getmicrotime(){
list($usec, $sec) = explode(“ ”, microtime());
return ((float)$usec + (float)$sec);
}
$t=Getmicrotime();

$logReg = "/(\S*) (\S*) (\S*) \ \“(.*)\” (\S*) (\S*) \“(.*)\” \“(.*)\”/si“;

$txt=”“;
$iNumber=0;
$handle = fopen(”/Library/WebServer/CGI-Executables/hnh.ru.access.txt“, ”r“);
while (!feof($handle)){
$iNumber++;
$line=stream_get_line($handle, 10000, ”\n“);
preg_match($logReg, $line, $log);
if (count($log) == 0) {
echo ”<li>ОШИБКА в строке " . $iNumber;
continue;
}

$txt.=$log;
}
fclose($handle);

$d=Getmicrotime()-$t;

echo $txt.“\n<p style=\”color:#red\“>”.$d.“</p>”;



Офлайн

#10 Фев. 11, 2008 03:22:09

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)

2 azecm
Извините, вы всегда созидаете несколько средов с одинаковыми темами?

Вообще-то, честно говоря, ваши танцы вокруг быстродействия/экономии ресурсов мне кажутся … ммм…. несколько натянутыми. Вам что важнее скорость, ресурсы или все-таки скорость и лёгкость разработки? Какова вообще ваша цель в этом “меряньи пиписьками” :) ?
Просто я привык к тому что пишу приложение, а уже потом его оптимизирую, в тех местах, где это действительно необходимо…

Офлайн

  • Начало
  • » Флейм
  • » Будет ли выигрыш в ресурсах при разработке на Питон (vs ПХП)[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version