yura3d |
Отправлено: 5 сентября 2009 — 19:31 • Тема: Долгая загрузка форума • Форум: Решение проблем |
Ответов: 19 Просмотров: 13069
 |
drummer69 пишет:у меня в чате максимум человек 10 сидело...
Попросите хостера привести параметры (GET-запросы), с которыми запускался данный скрипт. Тогда можно будет конкретно сказать, с какой стороны была проблема. Дело в том, что скрипт jsloader.php отвечает за работу не только чата, но и других Ajax-приложений, в частности предварительного просмотра, обработки кармы и т.п. Но наиболее ресурсоёмкой из данных задач всё-таки является чат
drummer69 пишет:Хостинг виртуальный..тип червера точно незнаю...вроде двухядерных...4 Гб оперативы...вообщем, нормальный, но на нем помимо меня еще етськлиенты..а вот их кол-во я не скажу.
Я думаю Ваш проект уже перерос уровень виртуального хостинга. Закачайте на сервер прикреплённый скрипт get_ini.php и результат его работы выложите здесь, посмотрим сколько реально памяти отведено для PHP |
yura3d |
Отправлено: 5 сентября 2009 — 19:21 • Тема: Долгая загрузка форума • Форум: Решение проблем |
Ответов: 19 Просмотров: 13069
 |
drummer69 пишет:После звонка в тех. поддержку, мне было сказано, что идет большая нагрузка на сервер...из одного файла jsloader.php, тьак как от него слишком много запросов.
Чаще всего причина излишней нагрузки, связанная с этим файлов - это нагрузка чата. Временно отключите чат. Также хотелось бы узнать больше информации о конфигурации Вашего сервера и типе хостинга (виртуальный, выделенный или т.п.) Судя по посещаемости Вашего форума, Вам пора уже задуматься об аренде выделенного сервера, либо об отказе от некоторых особо прожорливых в плане системных ресурсов модулей (либо об их ограничении). Например, если в Вашем чате случаются ситуации, когда одновременно в нём сидит более 50-100 человек (зависит от конфигурации сервера), то уже нужно подумать о переходе на менее ресурсоёмкие технологии, такие как IRC |
yura3d |
Отправлено: 5 сентября 2009 — 19:13 • Тема: Новый шаблон для создания тем • Форум: Обсуждение |
Ответов: 7 Просмотров: 5932
 |
drummer69 пишет:Неужели сам админ мне не поможет... 
Я уже работаю над другими модами, более востребованными на данный момент (в частности, дорабатываю прикрепление нескольких файлов к одному сообщению и фотогалерею), поэтому времени нет. Поскольку интереса среди других пользователей к такому дополнению я не вижу и в моих планах на ближайшее будущее нет его реализации, такое дополнение попадает под разряд персональных дополнений к форуму |
yura3d |
Отправлено: 5 сентября 2009 — 18:56 • Тема: Мод: Подсветка синтаксиса языков программирования • Форум: Модификации и дополнения |
Ответов: 38 Просмотров: 30354
 |
RomAndry пишет:Кстати ссылка на ExBB стоит в копирайтах.
Поскольку ссылка на наш форум поддержки прописана через редирект, формально процитированное утверждение неверно
Александр Михалицын
Реализация кеширования - это очень хорошо. Однако, судя по исходнику, кроме создания кешированной копии подсвеченного кода и в дальнейшем проверки её наличия со считыванием кода из файла, больше по кешированию ничего не сделано. А что делать в случае, если тема, в которой было много исходного кода, была удалена? Или, к примеру, если мне понадобится немного изменить опубликованный ранее код, соответственно изменится его MD5-хеш и будет создан новый файл с кешем, что в этом случае делать со старым? Нужно продумать систему управления кешем, чтобы при удалении тем/сообщений, изменении кода в сообщениях соответственно и удалялись или обновлялись кешированные данные. В противном случае кеш очень быстро замусориться неактуальными данными, которые (что самое обидное) занимают довольно много места на сервере
Александр Михалицын пишет:
Ну мне не очень смешно. Проверил мод, несколько раз подряд правил код в сообщении, после чего нажимал кнопку Предварительный просмотр. Итог - в папке кеша столько файлов, сколько раз была нажата эта кнопка, а ведь сообщение в конце концов даже не опубликовал, эти файлы остались на сервере, хотя данный кеш более не актуален
Мне кажется, принцип хранения кеша подсвеченного кода нужно реализовать по-другому и у меня есть 2 варианта предложения реализации
Первый в виде файловой структуры (структуры папок) кеш/раздел/тема/сообщение. Например, для темы с id=1 в разделе с id=2 будет создана папка highlight_code_cache/forum2/topic1, внутри которой будут создаваться файлы вида 123456789.php, где 123456789 - id сообщения, в каждом из подобных файлов будет храниться кеш для всего подсвеченного кода, имеющегося в данном сообщении. В дальнейшем управлять таким кешем просто, скажем, если мы удаляем тему, то не нужно парсить её сообщения, заного вычислять MD5-хеш всех встречающихся в ней вставок кода, достаточно просто удалить папку highlight_code_cache/forum2/topic1. Тоже самое справедливо и при удалении отдельных сообщений, или даже целых разделов. При этом необходимо реализовать своего рода период действия кеша, чтобы по истичении 1-2 дней с момент создания кеша код перекешировался (это на случай обновления библиотеки geshi и т.п.)
Второй вариант - сохранить уже имеющуся сейчас систему кеширования, но вынести список всех кешированных файлов в отдельный файл произвольного доступа. Тогда можно написать отдельный скрипт, который будет запускаться кроном через определённые промежутки времени и пробегаться за один запуск по некоторой части файлов кеша, сравнивая время последнего доступа к файлу (см. fileatime()) и удаляя давно невостребованный кеш. Принцип действия прост, при парсинге кода мы вычисляем его MD5-хеш, создаём кеш и помещаем MD5-хеш кода (а этот хеш есть имя файла кеша) в список файла произвольного доступа. Далее скрипт чистки запускается кроном, считывает некоторую часть списка (это важно - считывать именно часть списка, поэтому я упоминаю файл произвольного доступа, сериализацию здесь применить нельзя, тут скорее нужно применить метод, аналогичный сохранению структур в бинарные файлы на Си), сравнивает даты последнего доступа к ним и при необходимости удаляет. Можно в принципе дату последнего обращения к файлу кеша также хранить средствами скрипта (это я к тому, что на некоторых серверах и файловых системах использование fileatime() невозможно). Вариант со связкой opendir() + readdir() и подобные им не рассматриваем, т.к. при таком переборе во-первых значительно расходуются ресурсы, а во-вторых довольно сложно перейти в произвольную часть списка файлов, до которой не дошла проверка в предыдущий раз
У каждого варианта свои преимущества и недостатки, высказывайте своё отношение к ним и предлагайте свои идеи  |
yura3d |
Отправлено: 5 сентября 2009 — 17:18 • Тема: ExBB FM 1.0 RC1 • Форум: Релизы |
Ответов: 273 Просмотров: 262554
 |
rch пишет:поиск совпадений в описание темы не производится - хотя тоже пригодилось бы
Посмотрю что можно сделать, хотя увеличение объёма данных для поиска не лучшим образом скажется на скорости поиска и нагрузке поискового алгоритма на сервер
rch пишет:Выпадает список тем в которых найдено соответствие.
Но если в тексте нет "Искомой фразы", а она есть только в Названии темы - то перейти по ссылке нельзя - ошибка "Не найдено соответствий Вашему запросу".
(Соответственно если убать параметр "action" - то тема открывается)
К следующей версии данный и некоторые другие недочёты поиска будут устранены |
yura3d |
Отправлено: 5 сентября 2009 — 17:12 • Тема: Опция модератора для сообщения "Добавить в вечное" • Форум: Обсуждаем |
Ответов: 2 Просмотров: 3828
 |
1Bot пишет:Опция модератора для сообщения "Добавить в вечное" - фактически запрет на изменение сообщения всеми, кроме администратора
Высказываемся о необходимости такой опции.
Администраторы и модераторы при правке чужих сообщений могут пользоваться опцией Запретить правку сообщения?, после выбора которой пользователи не смогут редактировать свои сообщения. Для правильного функционирования этой опции не так давно выкладывалось исправление, которое я рекомендую установить
+1 |
yura3d |
Отправлено: 4 сентября 2009 — 17:43 • Тема: Статьи, обязательные к прочтению • Форум: ExBB.info |
Ответов: 19 Просмотров: 19497
 |
Моё мнение уже высказал в разделе для модераторов, процитирую и здесь:
yura3d пишет:Александр Михалицын пишет:Так, начинаю бороться с безграмотностью и чрезвычайной степенью лени пользователей... 
Это конечно очень хорошо, но главное не перегибать палку. Например, в этой теме проще было пользователю ответить прямым ответом на вопрос, это заняло бы не только меньше времени, но и позволило бы избежать флуда в этой теме (а ведь всё что там написано, кроме первого и последнего сообщений, флуд по большому счёту). Ну а сообщения типа:
Александр Михалицын пишет:А зачем форумы создаете?
Александр Михалицын пишет:А посмотреть код, религия не позволяет?
вообще считаю неуместными и впредь не хотел бы видеть подобных сообщений на этом форуме. Мы все когда-то чему-то учимся, и если здесь я только отвечаю, то на нескольких других форумах (например, по программированию микроконтроллеров) я такой же активно спрашивающий, как и многие здесь. И на тех форумах мне обычно либо нормально отвечают, либо дают ссылку на соответствующую тему (ведь далеко не всегда удаётся найти нужную информацию в поиске, например, при работе с воблой). Представьте, что Вы заходите на форум, посвящённый мобильным телефонам (смартфонам, КПК), просите подсказать каким образом реализовать ту или иную возможность, и Вам в ответ советуют дизассемблировать прошивку и сидеть разбираться в коде.  В конце концов, многие люди приходят сюда по запросам из поисков, и подобные впадания в крайности (цитаты выше) выглядят как детский лепет, а не серьёзный проект, и это отнюдь не играет на руку проекту. Если тема обсуждалась не так широко или её сложно найти через поиск, лучше лишний раз продублировать ответ, в большинстве случаев это займёт не более минуты, зато на общем удобстве пользования нашим форумом поддержки и на его показателях в поисковых системах это скажется крайне положительно. А так, если бы я всё время отнекивался от вопросов (дескать, сходите на форум ТвойWeb, там эта тема в году этак 2004 - 2005 обсуждалась), не думаю, что мы вообще бы сдвинулись с места с этим проектом
Как и сказано выше, считаю необходимой модерацию только в крайних случаях. Возможно, тема может быть создана пользователем в неправильном разделе, заголовок темы или её вопрос могут быть поставлены не совсем корректно. Но на многих форумах (говноподдержка phpBB не в счёт) я неоднократно наблюдал, когда модераторы перемещали созданные темы в соответствующие разделы, при необходимости правили заголовок темы, поправляли формулировку вопроса и приводили ссылки на темы, где подобные вопросы обсуждались. Причём частое повторение одних и тех же вопросов считалось информационнным недостатком форума, а не ленью пользовователей - это значит администрация форума не позаботилась о том, чтобы ответы на часто задаваемые вопросы лежали на поверхности. Частично такая же ситуация и у нас, часто многие вопросы повторяются лишь потому, что обсуждались уже достаточно мало и давно, поэтому их сложно найти в поиске (поскольку формулировки вопросов разные, соответственно и ищут люди по разным формулировкам). С другой стороны, продублировав ответ (или просто дав ссылку на исходный ответ) всего несколько раз, мы в эти самые несколько раз увеличиваем вероятность нахождения темы в поиске. К сожелению свободного времени у меня сейчас мало, поэтому перестал обновляться раздел ExBB FAQ. Начать улучшение форума предлагаю именно с пополнения данного раздела, а также с оптимизации некоторых тем и сообщений (например, правка заголовка или изменение формулировки вопроса) с целью увеличения вероятности их нахождения в поиске, и только после того как эта работа будет проделана, мы сможем с полной уверенностью говорить о лени пользователей. Это я считаю работой модератора, если же модератор умеет только отправлять в поиск, закрывать/удалять темы и т.п, то зачем нужен такой модератор? На многих форумах я сам стараюсь с такими не связываться, имхо это недальновидные люди, проще посадить вместо такого модератора какого-нибудь бота, который будет анализировать фразы вопроса и использовать индексированную базу форума для поиска решения, толку будет гораздо больше |
yura3d |
Отправлено: 4 сентября 2009 — 17:12 • Тема: Мод: Подсветка синтаксиса языков программирования • Форум: Модификации и дополнения |
Ответов: 38 Просмотров: 30354
 |
 Александр Михалицын пишет:Видел, что у некоторых участников форума стоит мой мод, но поставить ссылочку они конечно не догадались... Эх.. 
Ну во-первых, в условиях использования данного мода нет ни слова о необходимости установки ссылки на сайт автора, из этого следует что установка ссылки дело добровольное и не стоит по этому поводу обижаться. Во-вторых, я был бы готов поставить ссылки и на других своих проектах, была бы у этого мода поддержка кеширования подсвеченного кода, без кеширования парсинг большого объёма кода не лучшим образом сказывается на производительности  Ну и в-третьих чисто дружеский совет - нужно заниматься больше совершенствованием движка и разработкой модов. Составлять правила и модерировать - тоже нужно, но некоторыми определёнными действиями можно вызвать только негатив пользователей, и ссылку на Ваш сайт тогда они точно не поставят. С другой стороны (сужу по своему опыту), люди ценят, когда им реально помогают, стоит только взяться за решение чьей-либо проблемы или за написание востребованного мода |
yura3d |
Отправлено: 4 сентября 2009 — 16:54 • Тема: Исправления и обновления для тем оформления форума • Форум: Обсуждение |
Ответов: 10 Просмотров: 14517
 |
В эту тему будут выкладываться исправления и обновления для всех (или, по крайней мере, для большинства) тем оформления форума. Также, в связи с грядущим большим обновлением до версии ExBB FM 1.0 RC2, в этой теме будут собраны инструкции для создателей тем оформления, описывающих новые элементы в темах оформления (с целью их адаптации к новой версии форума)
В продолжение этой дискуссии расскажу, как сделать активными ссылками названия категорий на главной странице форума (при клике на такую ссылку будут выводиться только разделы из выбранной категории)
Откройте файл templates/ваш_скин/board_data.tpl, найдите строку:
CODE:<th colspan="5" class="maintitle" align="left"><img src="./templates/ваш_скин/im/nav_m.gif" border="0" alt=">" width="8" height="8" /> {$category}</th>
И замените её строкой:
CODE:<th colspan="5" class="maintitle" align="left"><img src="./templates/ваш_скин/im/nav_m.gif" border="0" alt=">" width="8" height="8" /> <a href="index.php?c={$in_cat}">{$category}</a></th>
В приведённом выше коде вместо фрагментов ваш_скин необходимо подставить название используемого скина (папки со скином), например, InvisionExBB, GreyExBB и т.д. для других скинов |
yura3d |
Отправлено: 3 сентября 2009 — 18:53 • Тема: Установка SAPE • Форум: Общие вопросы |
Ответов: 77 Просмотров: 63946
 |
mastersound пишет:А возможно ли сделать так, чтобы названия тем форумов были активными, со ссылками на них с главной?
Zeg пишет:Смотрю, на этом форуме уже появилась такая фича, только Объявления пока не поправлены  . Скоро выложат решение, видимо
Честно говоря не понял, о чём идёт речь |
yura3d |
Отправлено: 2 сентября 2009 — 16:34 • Тема: Рейтинг популярных тем • Форум: Обсуждаем |
Ответов: 25 Просмотров: 20439
 |
drummer69 пишет:Биг спасибо! и последняя просьба, возможно ли принажатии на выбранную тему, она открывалась в новом окне?
Возможно, в файле modules/threadstop/frontindex.php найдите фрагмент:
CODE:<a href="topic.php?forum='.$value['fid'].'&topic='.$value['id'].'&postid='.$value['postkey'].'#'.$value['postkey'].'">
И замените его фрагментом:
CODE:<a href="topic.php?forum='.$value['fid'].'&topic='.$value['id'].'&postid='.$value['postkey'].'#'.$value['postkey'].'" target="_blank">
(Добавление)
Да, и хотелось бы добавить, добавлять 4-ую колонку в рейтинг популярных тем не стоит, если у Вас слабенький сервер или очень большой форум, т.к. формирование подобного списка будет существенно нагружать сервер |
yura3d |
Отправлено: 2 сентября 2009 — 16:22 • Тема: Рейтинг популярных тем • Форум: Обсуждаем |
Ответов: 25 Просмотров: 20439
 |
drummer69 пишет:только во немного строки поползли.
Просто 4 колонки полностью не помещаются, поэтому некоторые строки размещаются с переносом. Ну а решить проблему со сползающими списками несложно, замените в файле templates/ваш_скин/topic_stat_table.tpl все фрагменты:
CODE:<td class="row1" width="25%">
на эти фрагменты:
CODE:<td class="row1" width="25%" valign="top"> |
yura3d |
Отправлено: 2 сентября 2009 — 16:01 • Тема: Установка SAPE • Форум: Общие вопросы |
Ответов: 77 Просмотров: 63946
 |
 mastersound пишет:Только вот я мыла немного развел с невнимательностью своей.
Не вижу в этом ничего плохого, по крайней мере вопросы проверки работоспособности сапы на нашем форуме до этого не обсуждались |
|