TiA

Рейтинг
116
Регистрация
12.06.2009
aktuba:
2. Синглтон - это не просто вызов каких- то методов. Очень часто это полноценный объект, с геттерами/сеттерами, магическими методами и пр. плюшками.

Синглтон - это шаблон проектирования, который позволяет гарантировать, что в скрипте будет лишь один объект определенного класса. Реализуется обычно закрытием метода __construct() и реализации статического метода типа Get_Instance() который возвращает единственный экземпляр класса. Этот экземпляр хранится в статическом свойстве класса.

В примере выше просто объявили статический метод для подключения к базе данных и статическое свойство с идентификатором подключения. Вот и все.

А где вы тут синглтон увидели?

Вентилятор:
Как вы считаете, причина в этом?

Ну так для кого описывал:

TiA:
Распишу что происходит у Вентилятор. Он запускает проверку на host-tracker.com. Этот сервис генерирует довольно много обращений и сразу. Обработкой запросов занимается apache2 с mpm prefork. В настройках по-умолчанию директива MaxClients неоправданно высока. Если я не ошибаюсь, она имеет значение по-умолчанию 150. При работе WP с настройками по-умолчанию процессы Apache2 кушают около 60 Мб. В оперативке таких процессов поместится 4. Учитывая что на VPS-ку может выделяться до 1024 Мб памяти это количество может быть увеличено до 16.

Поскольку в настройках указано значение в 150, буферизации запросов не происходит и Apache пытается создать столько форков, сколько нужно для обработки всех запросов. Таких процессов может быть до 150. На самом деле когда число таких процессов превышает 4-16, возникает out of memory. Память банально кончилась. Это, собственно, и происходит.
Dreammaker:
Не совсем понятно, а почему все ополчились на awilum?

Тут причины вполне очевидны. Основная - это поведение.

awilum:
Ахахааха))) да у тебя шизофрения)) Это как курица со встроенным чат-ботом)))

У вас в каждом сообщении "тролли", ржете над чем-то, теперь о шизофрении и о чат-ботах заговорили. Вас и вправду все это так беспокоит? Бедный вы человек. Весна вроде как прошла. Или это пятница так влияет?

Не можете пару слов по теме сказать? Вроде ведь делали что-то похожее на CMS на файлах, а сказать по теме нечего. Разработчег, блин.

blogolet:
Определенная доля лукавства есть - откройте любой справочник по бд, в нем в первых строках однозначно написано, что файлы быстрее бд.

Здесь все зависит от конкретной реализации CMS. Не все так однозначно. На файлах практически невозможно реализовать сложные выборки типа "выбрать все статьи, где значение такого-то параметра находится в таких то пределах в условиях, когда количество параметров у статьи может динамически меняться". На SQL это делается в два запроса. Стандартная задача.

jmas:
Промежуточный вариант, который может устроить и первых и вторых - это хранение данных в SQLite базе. Файл базы хранится вместе с сайтом, поэтому переносимость: скопировал сайт на другой хостинг и все.

Самым оптимальным вариантом является кеширование ;) Движок сгенерировал страничку - и в кеш. Кешировать данные можно как на уровне модели, на уровне запросов в БД, так и целиком все. В некоторых случаях можно добавить дифференциацию по группам пользователей. Кешировать можно как на диск (тогда скорость будет соизмерима со скоростью CMS на файлах), так и в ОЗУ (memcache). В последнем случае производительность будет гораздо выше.

awilum:
Ахахаха Тролли создают виртуалов, чтобы потролить)))

Масло масляное, да? Вижу, у нас новое слово "троль". Вот закончатся каникулы - можно будет что в школе или институте рассказать.

awilum:
Мля они думают что меня чем-то зацепили))) Да, Я ржу с вашего троллинга))

Тут на самом деле ничего смешного нет. Даже наоборот. "Это печально" (с)

Вы бы это, послушали что вам говорят и пилили бы свое поделие до более-менее вменяемого состояния.

foxi:
к примеру темплейт цмс, которая на файлах - даже с натяжкой не попадет под "легкость и надежность"...

Сейчас "сами знаете кто" появится. Он и без повода появляться любит, а тут такой повод... :D
nanofan:

Хотелось бы обсудить преимущества и недостатки CMS на файлах.
Такие CMS становятся все более популярными из-за своей легкости.

А что тут обсуждать? Все уже не раз обсуждалось.

Плюсом CMS на файлах является потенциально большая скорость работы при грамотном подходе к организации CMS.

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

Проблемы начинаются, когда нужно выбирать странички по определенным критериям. Это уже довольно сложная задача для CMS файлах. Чем разнообразней критерии - тем сложней это все реализовать и тем медленней эта штука будет работать. Отдельный вопрос разграничение прав доступа, группы пользователей и прочие фичи. Это тоже довольно трудно реализовать и работать это будет медленно.

В CMS, которые используют базу данных, ситуация другая. Здесь многое зависит от реализации CMS. Если все сделано грамотно, то CMS, которые используют базу данных, могут работать на порядки быстрее CMS на файлах даже при большом количестве страниц и довольно сложных запросах. Такая скорость достигается за счет индексов, кеширования запросов, кеширования индексов и т.д.

nanofan:
Также интересует мнение, как ведут себя такие CMS при больших нагрузках?
Например, 5000 посетителей\сутки.

Все зависит от конкретных условий, настроек, железа и т.д. У меня есть сайт на Joomla 1.5. На дешевой VPS-ке (200Мб ОЗУ, 600МГц проц) 10 тысяч спокойно держит.

P.S. сейчас в топике появится "сами знаете кто" и будет "пэарить" своё поделие со сравнительными картинками :D

awilum:
Которые постоянно отвлекают на повторные и повторные ответы на тупые трололо вопросы.

Что и требовалось доказать ;) Пилите и дальше свое поделие.

awilum:
Я просто иногда забываю

Вот она, ключевая фраза. Забываете работать над своей CMS-кой, а вместо этого гадите в других темах.

Всего: 800