![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
G0rinich |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 21.8.2006 Репутация: 1 Всего: 1 |
Дефективно пишете дорогой ))) Из личного опыта. Для одного сайта писался скрипт, который загружал данные из xml файла (15Мб!) в БД. Выполнялось порядка 210К запросов. Разбор XML+занесение данных в БД после долгих мучений заняло 17 секунд на процессоре 800MHz. И все это на РНР!!! Wowa, скрипт можешь писать как на Perl, так и на РНР. На чем удобнее на том и пиши. Если конечно не упираешься во временные рамки и надо ресурсы экономить. Т.к. скрипт будет запускаться по крону, его по времени никто ограничивать не станет. РНР скрипт запущенный из консоли будет выполняться любое количество времени. В общем-то как и Perl скрипт. Только вначале скрипта обязательно надо #!/usr/bin/php или где он там на сервере лежит. Далеко не правда, что РНР будет хавать весь процессор, а Perl только чуть-чуть. При работе с БД процессор будет хавать именно БД, а не скрипт. На Perl решение может выглядеть красивее. И если ты очень хорошо знаешь Perl, то и быстрее. Если твой код на Perl выглядит как код на РНР, то можно с уверенностью сказать, что Perl ты не знаешь и писать на нем что-то серьезное не стоит. Такой код быстрее работать не будет. |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
G0rinich, поддерживаю.
У меня была подобная по тяжеловестности задача, 5Mb XML, количество запросов к БД не мерил, но вероятнее всего возле 100К. Время выполнения в пределах одной-вух секунд. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
а почему не питон?
![]() Это сообщение отредактировал(а) pythonwin - 30.10.2006, 14:30 |
|||
|
||||
kshyms |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 303 Регистрация: 30.8.2006 Где: Душанбе Репутация: нет Всего: 0 |
Wowa
Очень хорошая идея. Имеет практическую пользу и хорошие перспективы. IMHO. Если действительно PHP, который исполняется на сервере этим скриптом устанавливаются свойства C и без юзера любой скрипт с добавлением вашего демона будет самостоятельно запускаться. Это во первых экономия, а во вторых оптимизация и автоматизация. Обязательно применю его в своих исследованиях и буду докладывать о проблемах и успехах. |
|||
|
||||
kshyms |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 303 Регистрация: 30.8.2006 Где: Душанбе Репутация: нет Всего: 0 |
Здесь нашел А может так лучше? Но пока оба скрипта и ваш и этот не работают. Что не так? Это сообщение отредактировал(а) kshyms - 8.1.2008, 09:50 |
|||
|
||||
kshyms |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 303 Регистрация: 30.8.2006 Где: Душанбе Репутация: нет Всего: 0 |
30 1 * * 1 /home/site/script.php
мин час любой день любоого месяца еще такой cron оказывается есть Но самое главное оказывается у провайдера нужно спрашивать как его настраивать. То есть у всех по разному. Инфо к размышлению ![]() |
|||
|
||||
Resha |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 14.3.2008 Репутация: нет Всего: нет |
Вот это жесть ![]() ![]() ![]() ![]() Проблема с перегрузкой решается просто: Запускаете скрипт - записываете файл с именем - pid php-процесса - в папочку (processes, например). По крону остается только запускать скрипт, который будет удалять файлы несуществующих процессов и добавлять необходимое количество новых процессов. Лично у меня было два скрипта - dispatcher и script. Первый запускает скрипты и отслеживает наличие необходимого количетва процессов скрипта script, второй выполняет нужные нам действия и по завершению запускает новый процесс script. Система работает, как часы ![]() Удачи ![]() |
|||
|
||||
nerezus |
|
||||||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
P.S. Эти ф-ии в пхп, кстати, написаны на C. Но к делу отношения это не имеет. |
||||||||
|
|||||||||
w2w |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 11.9.2008 Репутация: нет Всего: 1 |
Я работаю только в Linux, в качестве скриптового языка для простеньких вещей использую bash, для сложненьких - php, пока проблем с тормозами и прочими вещами не замечал.
По ходу прочтения ветки заметил следующее: 1. Некоторые товарисчи не в курсе, что php можно использовать как cli инструмент. К примеру, можно сделать так:
Получим на выходе аналог функции phpinfo(), но для консоли. Отлично читаемый вывод, без хтмл тегов. Что характерно - никаких утечек памяти, никаких нагрузок на апач, более того, апача может и не быть вовсе. 2. Недоверие к php как быстрому скриптовому движку. Я довольно давно программирую на пхп, приходилось ковырять немерянное количество чужих исходных кодов и писать много своих. По личному опыту могу сказать, что большинство тормозов связано с кривым кодом. К сожалению, маркетинговый ход разработчиков php (я о том, что для программирования на php не нужно быть программистом ![]() 3. PHP разрабатывался только для WEB, поэтому для других целей не годится. Это уже из области мифов. Когда заходит об этом речь, я всегда вспоминаю древнейший миф о том, что sql запрос делающий выборку из нескольких таблиц, работает медленнее, чем из извлекающий данные из одной таблицы. Да пхп разрабатывался для веб, но это было много лун назад и воды с тех пор утекло никак не меньше, чем с тех времен когда на смену файловым БД пришли СУБД ![]() Удачи. |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
можно поподробнее: - какая СУБД - характеристики сервера - сколько юзеров - каков размер траффика и какой канал |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |