Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Обнуление или исчезновение топиков

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

silverweb



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
хм. если это происходит во время поста, т.е. записи его в файл и ребилда, то во по-моему там мало чего считается.  
разве что инкрементируется счетчик постов да инфа пишется в соответствующие файлы. все по минимуму...

Мало говорите, ххммм...
Смотрим по пунктам (на примере стандартной ИБ):
1. Проверка содержимого поста и переметров урла на корректность, и если надо запись хак-лога со всеми переменными.
2. Проверка на гостя и чтение кук.
3. Проверка на приватность форума.
4. Проверка темы на закрытость.
5. Проверка юзверя на бан и флудконтроль.
6. Чтение темы в массив.
7. Проверка поста на нехорошие слова
8. Добавка поста в тему и перезапись *.thd
9. Если есть ластпост, перезапись оного.
10. Перезапись *.pl
11. Перезапись файла пользователя с добавлением последней темы и увеличениие счетчика его постов.
12. Перезапись аллфорум-а с подсчетами кол-ва тем и постов.
13. Перезапись файла общей статистики.
14. Проверка на наличие подписчиков на тему и если таковые есть - прочесть еще раз файл темы, сформировать письмо и отдать его сендмайлу.
15. Снова вывести страницу темы.
 
Глюки могут появляться в перезаписях любого из вышеперечисленных файлов (как пл-а, так и ласпоста и алфорума)

Всего записей: 22 | Зарегистр. 07-10-2001 | Отправлено: 11:04 14-06-2002
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
хм.
в 1ом пункте хак-лог надо вообще чикнуть.  
7ой пункт вообще вырезать - этот механизм абсолютно бесполезен.
тут много проверок - их можно в данной ситуации не учитывать. записей в файл действительно много происходит... но проблемы испытывает только list.cgi.
правда сейчас пока что все ок.
а суппорт говорит, что у них сервак не тормозит.

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 01:40 15-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shurik

Цитата:
а суппорт говорит, что у них сервак не тормозит

У них и XT-шка с десятком сайтов типа твоего тормозить не будет.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 18:49 15-06-2002
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexander Ipp
при чем тут это? они же говорят, что не тормозит... и у них не десяток сайтов.

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 02:21 16-06-2002
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И снова про обнуление.
 
Уже третий раз за месяц сносит мой форум, обнуляются allforums.cgi, boardstats.cgi, некоторые list.cgi, pl, парочка thd-шек, одна учетная запись юзера - то есть все, что перезаписывается в конкретный момент. Полгода назад было то же самое, тогда хостер признал, что это может быть связано с их проблемами, извинились даже, растрогали.
 
Сейчас, когда эти проблемы возобновились, валят с больной головы на здоровую, говорят, разбирайтесь со своими скриптами сами, наше ПО файлы пользователей не обнуляет.
 
Все-таки, какие именно проблемы на сервере могут привести к такому обнулению? Как вообще оно происходит? Ну посудите: скрипт "распорядился" перезаписать файлы. Сервер тормознул или что там с ним - так перезаписи не произошло, файл должен остаться прежним. Откуда обнуление?
 
Многие же сталкивались, поделитесь с соображениями о причинах. Помогите мне (и другим таким же на будущее) квалифицированно поддержать диалог с хостером.  
 
Спасибо.

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 21:24 06-06-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Marilda
 

Цитата:
какие именно проблемы на сервере могут привести к такому обнулению?

 
Трудно сказать. Возможно, процессы Перла начинают убиваться системой до их завершения, возможно из-за того, что много процессов и они едят много ресурсов.  
 
У меня слава богу ничего не обнулялось, но уверена, что тебе бы помогло снижение нагрузки на сервер, которое вызывает форум.
 
Первое - избавься от многостраничных тем (10 и более страниц) - закрой и открой новые.
Второе - избавься от графики там, где это лишнее - пипсы (картинки под аватаром), кнопки (текстом сделай) и т.д.
И подожди, я статью напишу скоро про оптимизацию.
 
Но! Тебе это облегчит жизнь, но не будаю. что гарантированно поможет.
 
С хостером попробуй договоритья о ежедневных бекапах форума. Если нет - делай его сама. Лучше не сервере. Лучше автоматизировано. У тебя ведь есть шел на сервер?  
 
Добавлено
Основную нагрузку дают файлы - topic.cgi, post.cgi, postings.cgi, главная пага и поиск. Вот их и думай, как облегчить.
 
Добавлено
Shurik
 

Цитата:
в 1ом пункте хак-лог надо вообще чикнуть.  

 

Цитата:
1. Проверка содержимого поста и переметров урла на корректность, и если надо запись хак-лога со всеми переменными.  

 
Шурик, имеешь в виду запись выкинуть? Или и проверку на корректность тоже?

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 19:55 07-06-2003
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
 
Делают они бекап, что толку. Дело даже не в том, что что-то пропадает, а в том, что админ не может как наседка сидеть над форумом. Один раз зашла на форум, а он уже почти сутки как убит. А в отпуск как уехать, к примеру?
 
То есть, дело действительно в скриптах?
Многостраничные темы народ сам уже привык закрывать и отврывать новые; поиск отключен; картинки не убрала, но облегчила до предела. Но вообще если тарифный план позволяет держать форум нашей активности, не понятно почему мы должны что-то оптимизировать.  
 

Цитата:
У тебя ведь есть шел на сервер?  

Есть, наверное. А что это?
 
 

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 23:40 07-06-2003
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx

Цитата:
Шурик, имеешь в виду запись выкинуть? Или и проверку на корректность тоже?

я уже и не помню, что я думал год назад.
но могу одно сказать - за все время мне хак-лог ни разу и не понадобился.
 
на счет поста silverweb: как я и писал год назад, проверки все эти - мелочь. Запись в мелкие файлы - тоже. Единственное - большие темы - это да.
 
Marilda
не знаю, делают ли такое хостеры, но может быть они ограничивают в использовании процессорных ресурсов и памяти?
проверь - место-то есть?

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 01:12 08-06-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Marilda
 
Судя по тому, что ты рассказываешь, дело действительно в том, что твой форум жрет много ресурсов и тебе придется заниматься оптимизацией, либо искать более мощный сервер. Мы (руборд) тоже прошлым летом столнкулись с такой проблемой, а итоге переехали на более мощный сервак. И тоже не могли форум бросить ни на день.  
 
Картинки не облегчать надо, а убирать. Увеличь флуд-контроль до 40 сек или больше. Избавься от фильтра нецензурных слов. проверь забаненные IP и выкини лишние.
 
Избавься от файла IkonRussian.lib, написав все переменные явно руками. Или хотя бы большую часть переменных. Или хотябы вынеси всю адмичасть в отдельный библиотечный файл (переменные, юзаемые в админчасти), назови его admincenter.lib и реквесть его в файле ikonadmin.lib:
 
require "путь/admincenter.lib";
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 01:54 08-06-2003
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shurik
 

Цитата:
проверь - место-то есть?  

А сколько надо, чтоб достаточно было? Заодно научи, плз, как проверить Не с калькулятором по папкам ходить, наверное, где-то цифорку вывести можно?
 

Цитата:
не знаю, делают ли такое хостеры, но может быть они ограничивают в использовании процессорных ресурсов и памяти?  

Не думаю, чтобы причина сбоев была в этом, потому что пару раз сносили часов в 7 мск, то есть при минимальной нагрузке.

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 02:02 08-06-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Marilda
 

Цитата:
Не думаю, чтобы причина сбоев была в этом, потому что пару раз сносили часов в 7 мск, то есть при минимальной нагрузке.  

 
Шел - это доступ на сервер по telnet или SSH, читай:
http://forum.ru-board.com/topic.cgi?forum=21&topic=28#1
соб-но ты это читала.
 
Так вот есть у тебя шел?
 
Если есть, то какая ОС на сервере установлена?
 
Потому как любая ОС (в смысле нормальная - никс) ведет логи всего.  
например FreeBSD ведет лог своей деятельности в файл /var/log/messages - он доступен для чтения всем. Посмотри, что говорит система, когда у тебя падало.
 
Например, у меня смотри, что при этом она писала:
 
Apr 28 15:03:01 имя_сервера /kernel: pid 67758 (perl), uid 1002, was killed: out of swap space
Apr 28 15:03:03 имя_сервера /kernel: swap_pager_getswapspace: failed
 
Переводится это так примерно:
 
ядро получило очередной сигнал от перлового процесса, процесс порожден юзером 1002 (из-под этого юзера запущен Апач), процесс был убит, потому что свопового пространства не хватило для его выполнения.
 
 
 
А у тебя как?  
 
Или хотя бы зайди в логи Апача и посмотри, что там, начни в error.log или посмотри по access.log, какие файлы запрашивались перед падением.
 
 
И еще.
 

Цитата:
Один раз зашла на форум, а он уже почти сутки как убит.

 
А что значит убит? Как это выглядит то?

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 02:30 08-06-2003
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx

Цитата:
А что значит убит? Как это выглядит то?

Удали (переименуй) на секундочку allforums.cgi и boardstats.cgi и увидишь
 
Насчет логов - интересная мысль, спасибо, пойду посмотрю что там в них.
 
 
 
Добавлено
Архивы gz за 6 дней только,  наверное, остальное удаляется. Нужное посмотреть не смогу, нет уже этих логов. В след. раз сразу лог скачаю.
 

Цитата:
начни в error.log или посмотри по access.log, какие файлы запрашивались перед падением.

Это я и без логов знаю - какие обнулены, такие и запрашивались

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 02:52 08-06-2003 | Исправлено: Marilda, 03:59 08-06-2003
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Marilda

Цитата:
А сколько надо, чтоб достаточно было?

хм... вообще-то если форум раскрученный (и часто пишут), то если бы я сказал, что 5 метров, то это было бы мало, ибо эти 5 метров у тебя скушаются может быть за неделю. Поэтому чем больше места, тем лучше.

Цитата:
 Заодно научи, плз, как проверить  Не с калькулятором по папкам ходить, наверное, где-то цифорку вывести можно?  

вообще я подумал, что у тебя платный хостинг. На любом платном хостинге должна быть панель управления - там и увидишь. Если нет такого - спроси админов сколько у тебя свободного места.
Не скрипт же писать для подсчета. В крайнем случае придется с калькулятором по папочкам походить - выделяешь все файлы в total commander (бывший WC) и смотришь объем. Ты вообще знаешь сколько тебе выделили места?

Цитата:
Не думаю, чтобы причина сбоев была в этом, потому что пару раз сносили часов в 7 мск, то есть при минимальной нагрузке.

тогда места мало видать. Не бывает это просто так... а вообще из-за того, что у меня когда-то на кое-каком хостинге тоже глюки такие были, пришлось мне написать нечто такое:

Код:
$filetoopen = "$ikondir" . "forum$inforum/list.cgi";
    if (-z $filetoopen) {
       &recount;
    }  

это означает, что если размер файла = 0, то вызываем recount.
а Recount я написал такой:

Код:
 
sub recount { #start
 
        local($inforumloc) = @_;
        $dirtoopen = "$ikondir" . "forum$inforumloc";
         
        opendir (DIR, "$dirtoopen");  
        @dirdata = readdir(DIR);
        closedir (DIR);
         
        @thd = grep(/thd/,@dirdata);
        $topiccount = @thd;
         
 
        foreach $topic (@thd) {
         
        $filetoopen = "$ikondir" . "forum$inforumloc/$topic";
 
            open (FILE, "$filetoopen");
            @threads = <FILE>;
            close (FILE);
 
            $newthreads = @threads;
            $newthreads--;
            $threadcount = ($threadcount + $newthreads);
         }
       
         $threadcount = "0" if (!$threadcount);
         $topiccount  = "0" if (!$topiccount);
                     
         
         $filetoopen = "$ikondir" . "data/allforums.cgi";
         open(FILE,"$filetoopen") or &systemerror("$ibtxt{'2913'} $filetoopen");
         @allforums = <FILE>;
         close(FILE);
 
         $filetomake = "$ikondir" . "data/allforums.cgi";
         $filetomake = &stripMETA($filetomake);
         foreach $forum (@allforums) { #start foreach @forums
         chomp($forum);
            ($tempno, $trash) = split(/\|/,$forum);
                if ($inforumloc eq $tempno) {
                    ($forumid, $category, $categoryplace, $forumname, $forumdescription, $forummoderator ,$htmlstate ,$idmbcodestate ,$privateforum, $startnewthreads ,$lastposter ,$lastposttime, $threads, $posts, $forumgraphic, $pollstate) = split(/\|/,$forum);
                    $posts = $threadcount;
                    $threads = $topiccount;
                    $processed_data .= "$forumid|$category|$categoryplace|$forumname|$forumdescription|$forummoderator|$htmlstate|$idmbcodestate|$privateforum|$startnewthreads|$lastposter|$lastposttime|$threads|$posts|$forumgraphic|$pollstate|\n";
                }
            else { $processed_data .= "$forum\n"; }
         }
         if (($processed_data eq "") || ($processed_data !~ m!\|!)) { &error("Missing Data&Data as corrupted on the server. Please go back and try again"); }
         open(FILE, ">$filetomake");
          flock(FILE, 2);
         print FILE $processed_data;
         close(FILE);
         undef $processed_data;
     
         rebuildLIST(-Forum=>"$inforumloc");
 
 
} # routine ends
 

 
а может и не я писал, я уже и не помню. помню точно, проверки сам писал. Тогда и процедурку тоже возможно.

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 15:11 08-06-2003
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shurik
Спасибо, нашла инфу. Место есть, больше 100 мегов. error_log тоже нашла с последним сбоем - ничего там особенного, то самое сообщение, которое она пишет при обнуленном boardstats.cgi
[Дата Время] ikonboard.cgi: /pub/home/домен/cgi-bin/forum/data/boardstats.cgi did not return a true value at ikonboard.cgi line 85  
 
lynx
Насчет оптимизации. Вот не думаю я, что это в принципе эффективная мера борьбы с обнулениями. Нет, это все хорошо, полезно на уровне разработчика борды, но не админа-пользователя. Допустим, причина в перегрузке сервера (что тоже еще не факт). Ну допустим, довел программер-гений IB до совершенства. Но на сервере же он не один! Перегрузить серв могут другие пользователи.  Эту причину, кстати, и назвал мне хостер полгода назад.
 
Кстати, есть системные требования для IB (сколько памяти и т.д.), в рамках которых она должна работать как часы?  
 
В любом случае, как бы не был перегружен сервер - не должно быть обнуления!  Перезапись может не состояться, но файл должен остаться в прежнем, необновленном виде.  
 
Возможно ли, например, что установленный на сервере Перл что-то не так обрабатывает? (извините, я слабо представляю Перл и эти все процессы) Перл он и в Африке Перл, или разные версии есть?

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 16:37 08-06-2003
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Marilda

Цитата:
Дата Время] ikonboard.cgi: /pub/home/домен/cgi-bin/forum/data/boardstats.cgi did not return a true value at ikonboard.cgi line 85  

кинь сюда эту строку. Если надо - еще строк до 85ой.

Цитата:
Ну допустим, довел программер-гений IB до совершенства. Но на сервере же он не один! Перегрузить серв могут другие пользователи.  Эту причину, кстати, и назвал мне хостер полгода назад.  

менять хостера - что еще можно сказать? Если они не справляются и им не хватает мощностей и главное - они не собираются в ближайшее время наращивать мощность серваков, то идти оттуда...

Цитата:
В любом случае, как бы не был перегружен сервер - не должно быть обнуления!  Перезапись может не состояться, но файл должен остаться в прежнем, необновленном виде.  

да с чего бы это?
файл открывается на перезапись, тут хлоп и не хватает ресурсов, процесс киляется - все, файл пустой теперь.

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 18:09 08-06-2003
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shurik

Цитата:
файл открывается на перезапись, тут хлоп и не хватает ресурсов, процесс киляется - все, файл пустой теперь

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

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 21:06 08-06-2003
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Marilda
ты сверху фишку-то заюзай.
автоматический ребилд листа.
а также я на всякий случай постоянно автоматом делаю бэкап allforums.cgi
вообщем самые важные файлы...

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 09:26 09-06-2003
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shurik
Да я листы.цги и так восстанавливаю легким движением руки. На всякий случай: куда помещать sub recount?  
 

Цитата:
постоянно автоматом делаю бэкап allforums.cgi  

А как?
 
 

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 12:46 10-06-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Marilda
 

Цитата:
куда помещать sub recount?  

 
Помести в икон.либ, а вызывай &recount каждый раз при запросе list.cgi
 
 
Цитата:
$filetoopen = "$ikondir" . "forum$inforum/list.cgi";  
    if (-z $filetoopen) {  
       &recount;  
    }  


Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 16:19 10-06-2003
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Marilda

Цитата:
Да я листы.цги и так восстанавливаю легким движением руки. На всякий случай: куда помещать sub recount?  

lynx верно говорит.

Цитата:
А как?

посмотри, у тебя в checkboard.cgi че-нить с allforums.bak есть?

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 22:44 10-06-2003
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Обнуление или исчезновение топиков


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru