imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 21.11.2005, 16:17     # 1
Oleg
::VIP::
 
Аватар для Oleg
 
Регистрация: 03.11.2004
Адрес: Москва, Россия
Пол: Male
Сообщения: 982

Oleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg Сэнсэй
Нестабильная работа php

Привет всем!

Меня попросили разобраться с проблемами выполнения сложного php скрипта, который генерит структуру сайта.

На одном сайте используются несколько скриптов на PHP, которые выполняют большую работу, как-то: рассылка, генерация структуры разделов итд…

Симптомы нестабильной работы разные, или скрипт говорит про ошибки с памятью, или вылетает по тайм-ауту, в общем, по-всякому бывает.

Скрипты "рабочие", написаны профессионалами (из РБК), и весьма навороченные (достаточно сложные для понимания).

Под небольшой нагрузкой сервера работают нормально. Скажем, с утра скрипт работает, а к обеду - нет.

Технические параметры на сервере :

Linux 2.4.20
Apache 2.0
PHP 4.3.2

memory_limit 8M
max_execution_time 30
max_input_time 60

Сайт хостится на РБК (это достаточно дорогой хостинг), где еще находится, наверное, около сотни сайтов.

Скрипт, который вызывает самую большую головную боль, выполняется примерно раз в день, он занимается генерацией другого php скрипта (который и выводит сайт). Так вот, примерно 9 попыток из 10 запустить этот скрипт заканчивается неудачей (вылетом с сообщением об ошибке).

Какие можно дать советы по устранению этой проблемы?

Проблемные куски нестабильного php кода у меня на руках...

Последний раз редактировалось Oleg; 21.11.2005 в 16:19.
Oleg вне форума  
Старый 21.11.2005, 17:52     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Цитата:
Симптомы нестабильной работы разные, или скрипт говорит про ошибки с памятью, или вылетает по тайм-ауту, в общем, по-всякому бывает.
Во-первых РБК обязан ответить на вопросы нестабильной работы своего скрипта на своём же хостинге. А во-вторых решение вполне очевидное: увеличивайте memory_limit и max_execution_time.
RaZEr вне форума  
Старый 21.11.2005, 23:51     # 3
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
1. Почему нельзя изменить максимальный лимит по времени в конкретном скрипте? Например, на мастерхосте это можно сделать функцией set_time_limit, для скриптов, запускаемых из-под cron-а(как cgi) это работает. У меня там несолько парсеров висят, которые могут выполняться минут 20-30...Правда php(5.1 dev) я собирал сам(cgi).
С перлом аналогично(синхронизатор бд у нас работает достаточно долго).

2. Ограничение по-памяти — это логично, и тут нужно как-то выкручиваться, либо «бить» скрипт на стадии, либо вообще переписывать его на c.

Ну и код в студию.
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 22.11.2005, 09:11     # 4
Oleg
::VIP::
 
Аватар для Oleg
 
Регистрация: 03.11.2004
Адрес: Москва, Россия
Пол: Male
Сообщения: 982

Oleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg СэнсэйOleg Сэнсэй
Код по соображениям безопасности опубликовать не могу, но ...

Проблема решилась! Добавили две строчки в начало скрипта, и все работает!

Код:
ini_set ("max_execution_time", "60");
ini_set ("memory_limit",       "32M");
Oleg вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 23:23.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.