Просмотр темы - "ReloadCMS - 2011. Вести с полей."

  > Список тем > ReloadCMS - 2011. Вести с полей. Новая тема

[1] [2] [3] [4]
Автор Текст
Den1xxx

 44 
Модератор
Послать ЛС
ReloadCMS - 2011. Вести с полей. - 11:13:40 19 Март 2011 Профиль
Согласно планам развития краткий отчёт о работе публикуется здесь.
Не решился тестировать систему на своём хостинге - хостер может отрубить и будет прав.
Для тестирования заведён домен на бесплатном хостинге - http://relo...sgreat.org/

//upd писец... Вот тебе и бесплатный хостинг навсегда... Второй хостинг выпиливают подряд.
//upd Третий бесплатный - тоже неудачно. Всё, хватит баловаться - закачал на свой.

Новая ссылка http://test.into.by
Требуется Ваша посильная помощь - писать как можно больше тем на форуме. Ну и в каждой теме по пару постов по возможности.
Чтоб хорошо протестировать систему, тем на форуме должно быть более 500.
Если не лаганёт при таком количестве тем - значит тест прошёл.
Ну и счётчик - должен обнулиться при более чем 20000 хитов.
Ну а я стимульну - закачаю ненулевой и неоптимизированный счётчик, чтобы не пришлось долго ждать.
В общем нужно добиться превышения Max execution time - пока не начнёт постоянно выскакивать эта ошибка PHP.
Пока будете пробовать, я продолжу работу.
Что уже сделано в системе.
1. Добавлена защита файлов от самовыпиливания. Это за год четвёртый раз уже. Но на сей раз вроде удачная - тестируйте.
Раньше делался компромисс между выпиливанием файлов и производительностью. Сейчас приоритет - надёжность.
Нагрузка нагрузкой, а файлы портиться не должны.
2. Система разобрана на части - костяк+самое необходимое, остальные модули отдельно.
Это сделано, чтобы в перспективе можно было ставить и удалять модули инсталлером из админки.
Конкретно из этой системы выпилено (далее список модулей):
- aforizm
- feedback
- gallery
- google sitemap
- guestbook
- minichat
- rss.aggregator
- google sitemap
Также ещё будут выпиливаться следующие модули:
- forum & addons
- counter
- filesdb & filesdb.last
- pm
- poll & poll.archive
- search & search.result
Потом перебираться на наличие проблем и новенькие запиливаться назад.
3. Для реализации пункта 2 пришлось выделить отдельно комментарии в api.comments.php
Управление комментариями также задаётся в админке и являтся неделимой частью системы.
Из админки теперь можно глобально отключить парсинг bb-codes - 2 режима.
Отключённые bb-codes не будут выводиться в редакторе.
При полностью отключённых bb-codes весь вставляемый в textarea код будет просто парситься в html-сущности.
Только комментарии на форуме будут управляться другим API - потому что там это собственно не комменты.
4. Исправлены по-человечески баги с добавлением ещё одного коммента при обновлении страницы (баг F5).
Впрочем это следствие п.3. Тестируйте - у меня на локалке работает замечательно.
5. В редактор добавлен человеческий тег "спойлер" - с плюсиком и минусиком. Очень не хватало потому что.
Пока всё - буду ковырять дальше по намеченному плану.
Багрепорты высказывайте здесь.

Den1xxx

 44 
Модератор
Послать ЛС
08:55:09 05 Апрель 2011 Профиль
Спасибо. Почти всё вышло.
Но теперь при распаковке файлы с нулевой длиной становятся папками. Oh shit.
А так не хотелось усложнять, но придётся.

Gregg

 9 
Пользователь
Послать ЛС
11:18:05 06 Апрель 2011 Профиль
может прикольнее будет просто создавать файлы с нулевой длиной при инсталляции?

Den1xxx

 44 
Модератор
Послать ЛС
16:13:20 06 Апрель 2011 Профиль
Цитата:
может прикольнее
Может прикольнее. А что, куда-то торопитесь? По плану релиз через 2 недели.
В принципе устанавливать системные модули можно без распаковки. Но это будет ещё больше грузить ресурсы. К тому же права на файлы прикольнее устанавливать внутри архива tar - там он это поддерживает.

Den1xxx

 44 
Модератор
Послать ЛС
11:12:12 07 Апрель 2011 Профиль
Что-то вяло идёт тестирование, господа.
Мало тем на тестовом форуме.
Плохо протестируете - получите недопродукт, потом не на кого будет жаловаться.

Gregg

 9 
Пользователь
Послать ЛС
14:10:34 10 Апрель 2011 Профиль
я не тороплюсь ))) я просто говорю идею которая пришла мне в голову.
в архиве файлов нет, а при инсталляции модуль просто будет создавать нужные файлы в нужных местах, мне казалось что это неплохой способ обойти баг

Den1xxx

 44 
Модератор
Послать ЛС
13:51:36 14 Апрель 2011 Профиль
Update
Этого не было в проекте обновлений, но очень важно для системы.
При сканировании сайта поисковиками и роботами, создаётся офигенная нагрузка на сервер.
Это часто приводит к перегрузке, а иногда выпиливаются важные файлы.
Если наивно полагаете, что роботы не проблема - включите логи и через недельку зайдите в Управление логами - на сайте со средней посещаемостью ежедневно 85% кликов делается не-людьми, из них 85% пытаются написать спам в комментах.

Я решил добавить возможность кеширования сайта для гостей, тем более это есть в других движках. Это работает даже быстрее чем MySQl, не говоря уже про файловый движок.
Минус (или скорее плюс?) - если какой-то поисковик будет сканировать сайт, большинство повторных кликов не будет учитываться в статистике.
Ещё может быть минусом - пухнет папка кеша, если много страниц. Однако это однозначно компенсируется скоростью работы.

Вот как выглядит папка кеша, если смотреть на неё по ФТП (http://test.into.by).

Каждая страница весит около 20 кб, так что при 1000 страниц на сайте может получиться кеш более 20 Мб - имейте в виду.


Суть работы кеширования.
1. Проверяем если не гость - всё как было, если гость - начинаем кешировать.
2. Палим текущий урл.
3. Шифруем в md5.
4. Проверяем есть ли файл ./content/cache/шифрованный_урл.
5. Если есть и не просрочен - выводим. Если нет или просрочен - создаём заново, а потом выводим.

Желающие погонять и поискать ошибки в коде могут скачать этот патч. Патч ставится на 1.2.7 или 1.2.7-2010 как обычно.

Время жизни кеша по-умолчанию 30 секунд, пока не настраивается, задаётся в index.php
Цитата:
$cache -> time_file_cache = 30;
В новой версии движка сделаем настройки кеша в админке, а пока тестируйте.
По разным версиям тестов у меня был выигрыш в скорости до 20 раз.


Кстати его можно уже использовать как патч для текущей версии;)

anton135

 0 
Пользователь
Послать ЛС
17:14:13 16 Апрель 2011 Профиль
Почему то при тестировании на Денвере обнаружил что папка /content/cache/ пуста(не наполняется).

Den1xxx

 44 
Модератор
Послать ЛС
20:03:55 16 Апрель 2011 Профиль
Цитата:
Почему то при тестировании на Денвере обнаружил что папка /content/cache/ пуста(не наполняется).
См. выше
Цитата:
Я решил добавить возможность кеширования сайта для гостей
Наверно Вы были зарегистрированы на сайте? А сайт кешируется только для гостей.
Если кешировать сайт для всех посетителей, придётся хранить кеш для каждого и никакого выигрыша не получится. Ведь каждый из зарегистрированных видит сайт по-разному.

Кстати небольшой эксперимент. С кешем и без кеша.
Создайте статью с > 100 комментариями.
1. В режиме "Гостя" на Денвере нажмите F5 раз тридцать. Дождитесь результата.
2. В зарегистрированном режиме на Денвере нажмите F5 раз тридцать. Дождитесь результата.

И сравните - почувствуйте как говорится разницу.
Результат на компе Celeron 2 Гигагерц, 1 Гб памяти, в статье 200 комментов:
В 1 разе включается кеш и сайт отрабатывает как только убираешь руку с F5. Загрузка процессора - 20% - 60%.
Во 2 случае - не хватает 30 секунд и вылазит ошибка Max execution time. Загрузка процессора - 100%, во всё время работы скрипта.


anton135

 0 
Пользователь
Послать ЛС
10:24:23 17 Апрель 2011 Профиль
Цитата:
Наверно Вы были зарегистрированы на сайте? А сайт кешируется только для гостей.
Извиняюсь за невнимательность.Спасибо.

Den1xxx

 44 
Модератор
Послать ЛС
14:46:40 18 Апрель 2011 Профиль
anton135 , пожалуйста.

Сегодня допилил новый Google sitemap.
Желающие тестировать - милости просим.
Главное отличие - легкость включения новых модулей в сайтмап.
А именно, для включения 1 адреса пишете модуль easy_module.php
Код:
И ложите его в admin/modules/google_sitemap
И в админке автоматически появятся настройки для включения в карту сайта модуля под названием 'Эээ какая-то фигня, но нужная:)' Естественно урлов может быть много - сколько напишете.
Из готовых модулей включил только Главную страницу сайта, Статьи и Форум, попутно исправив ошибки. До других модулей пока руки не дошли.
Подробности в статье.
Ссылка на закачку
[1] [2] [3] [4]

Комментировать

Вы не залогинены!