Система клеент-сервер и другие мысли по улучшению программы

Gordon Freeman

New member
Здравствуйте.

Почти весь демонстрационный период я "щупал" вашу программу. Функционал действительно большой, даже огромный и самое главное - русскоязычный интерфейс! Это радует, но все таки есть некоторые минусы:
1. Нет толкового WEB-интерфейса.
2. Программа отказывается работать на Windows Server без установленной графики.
Думал я думал и решил опубликовать здесь свои мысли и идеи по улучшению вашей программы.

1. установка программы в нескольких режимах:
1.1. Полная установка. Программа ставится как и раньше, а именно полный функционал плюс графика
1.2. Режим "Core". В этом режиме мы получаем весь функционал программы, но без графики. После установки мы получаем логин и пароль для управления программой скажем через TelNet или с помощью клиента. Этот режим как раз подойдет для сервера. Здесь мы убиваем табун зайцев. Мы получаем централизованный архив музыки, общую базу данных и самое главное, снижение общей нагрузки на сервер, поскольку графику на сервере можно будет снести.
1.3. Режим "Клиент". В этом режиме ставится только графическая часть программы без основного функционала.

2. WEB-интерфейс:
Об этом можно говорить очень много, к тому же здесь есть специальная тема, но я все же выскажу свои мысли по этому поводу. Мне кажется, что в нем нужно реализовать следующие функции:
2.1. Регистрация пользователей для деловых контактов (новые ведущие, рекламодатели, помощники администратора). Для рекламодателей можно предусмотреть систему автоматизации оплаты эфирного времени. Например: Вы хотите разместить ваш рекламный ролик на радио. В настройках указана стоимость одной минуты эфира. Пусть это будет один доллар США. Скрипт определяет длительность вашего ролика и считает стоимость одного выхода в эфир. Пусть наш ролик играет 30 секунд. Исходя из этого один выход в эфир будет стоить 50 центов. Далее вы вписываете количество выходов в эфир вашего ролика. Скрипт выставляет вам счет и предлагает оплатить его с помощью банковской карты или других платежных систем. После оплаты ваш ролик автоматически добавляется в плейлист для рекламы и играет в начале или в конце музыкального часа. После окончания вашего эфирного времени вам приходит письмо с соответствующим уведомлением. Если вы не хотите продолжать сотрудничество с радиостанцией, то ваш ролик автоматически удалится после скажем тридцати дней.
 
Gordon Freeman сказал(а):
И снова здравствуйте...

...и самое главное, снижение общей нагрузки на сервер, поскольку графику на сервере можно будет снести.
Глупая идея! При нынешних мощностях железа стандартный GUI нисколько не увеличит нагрузку на сервер, зато очень облегчит жизнь простому юзверю коими мы и являемся :)
 
Серверами занимаются администраторы, а не салаги зеленые. Сегодня железо действительно мощное, но зачем разворачивать систему на 20 гигабайт, когда можно поставить ее без графики и сэкономить такое нужное на сервере место. Где вы собираетесь хранить десятки терабайт необходимой для радиостанции информации? Кроме того, на сервере могут стоять другие компоненты. К тому же, чем меньше нагрузка на сервер, тем меньше он жрет электроэнергии. К тому же для таких слабых пользователей есть клиент. Подключайтесь им к серверу и работайте. Никто вас не заставляет работать через командную строку, PowerShell или TelNet-клиент.
 
Novossyol сказал(а):
Gordon Freeman сказал(а):
И снова здравствуйте...

...и самое главное, снижение общей нагрузки на сервер, поскольку графику на сервере можно будет снести.
Глупая идея! При нынешних мощностях железа стандартный GUI нисколько не увеличит нагрузку на сервер, зато очень облегчит жизнь простому юзверю коими мы и являемся :)
Согласен. При нынешних ценах на железо экономить ресурсы бессмысленно (в определенных пределах, конечно). Тем более, что в RadioBOSS основной расход ресурсов приходится на звук и вещание, а не на интерфейс.

Gordon Freeman сказал(а):
Сегодня железо действительно мощное, но зачем разворачивать систему на 20 гигабайт, когда можно поставить ее без графики и сэкономить такое нужное на сервере место.
Сейчас цена за гигабайт такова, что об этом можно вообще не думать. Размеры дисков уже терабайтами измеряются... Например, на хостинге radioboss.fm каждому выдается 100Гб места под автодиджей.

Gordon Freeman сказал(а):
Где вы собираетесь хранить десятки терабайт необходимой для радиостанции информации?
Зачем для станции десятки терабайт? Даже если так, сэкономить 1-2 гигабайта, порезав систему, тут вообще ни на что не повлияет, только проблем добавит.

Gordon Freeman сказал(а):
Кроме того, на сервере могут стоять другие компоненты. К тому же, чем меньше нагрузка на сервер, тем меньше он жрет электроэнергии. К тому же для таких слабых пользователей есть клиент. Подключайтесь им к серверу и работайте. Никто вас не заставляет работать через командную строку, PowerShell или TelNet-клиент.
Скоро на том же radioboss.fm будут предлагаться серверные версии RadioBOSS c полноценным доступом через Windows Remote Desktop, цены будут от $20/мес. Таким образом пользователям вообще не нужно будет думать насчет серверов, ресурсов, энергии и т.п. Такое решение проще и дешевле, чем перекраивать всю программу.
 
Я с вами не соглашусь. Для зеленых юнцов конечно проще всего заплатить 20 долларов в месяц и не париться, но серьезные люди так не делают. Они сами покупают программы, собирают или покупают готовые сервера, строят кластеры, отправляют их в датацентры.

Я не думаю, что вашей программе нужна серьезная перекройка для реализации функций, которые я описал выше. Я не думаю, что все яйца у вас в одной корзине и блок интерфейса настолько тесно связан с полезным функционалом программы. Конечно, полезный функционал нужно будет немного модифицировать, а именно:
1. Добавить в него поддержку TelNet для реализации удаленного управления продуктом через консоль.
2. Создать список команд со всеми вытекающими.
3. Подумать над системой аккаунтов. Что-то подобное у вас уже есть.
Это всего лишь набросок плана. Я не видел ваших исходников.

Теперь вернемся к WEB-интерфейсу.
2.2. Поиск и заказ песен.
Ну... Здесь почти нечего описывать. Из названия все видно. Правда о толковом поиске нужно подумать. Поиск должен быть как по названию песни, так и по альбому, исполнителю и году. Тут нужно думать на счет СУБД. Так мы снизим нагрузку на диск. Гораздо легче обратиться к СУБД. Так же нужно подумать о защите от роботов, иначе у вас будет вечно играть одна и та же песня.
Вот пожалуй и все на эту тему.
 
Gordon Freeman сказал(а):
Я с вами не соглашусь. Для зеленых юнцов конечно проще всего заплатить 20 долларов в месяц и не париться, но серьезные люди так не делают. Они сами покупают программы, собирают или покупают готовые сервера, строят кластеры, отправляют их в датацентры.
Сейчас нет никаких проблем поставить сервер, на котором не нужно будет отключать графику ради экономии ресурсов процессора, где не нужно беречь место на диске и т.п. Расходы на такой сервер, если его просто арендовать, будут порядка $100 в месяц. Кому не хочется тратить 100, скоро можно будет взять у нас за 20.

RadioBOSS сам по себе достаточно хорошо оптимизирован - на процессоре Intel Core i5/i3 потребляет менее 1% CPU - дальнейшие оптимизации не имеют смысла. Особенно учитывая то, что каждый год мощности наращиваются и дешевеют.

То есть у той версии RadioBOSS, которую вы предлагаете сделать (с порезанной графикой и т.п.) - просто нет целевой аудитории.

Gordon Freeman сказал(а):
1. Добавить в него поддержку TelNet для реализации удаленного управления продуктом через консоль.
2. Создать список команд со всеми вытекающими.
Удаленное управление уже есть: http://manual.djsoft.net/radioboss/ru/remote_controlapi.htm
В следующей версии возможности удаленного управления будут расширены.

Gordon Freeman сказал(а):
Теперь вернемся к WEB-интерфейсу.
2.2. Поиск и заказ песен.
Ну... Здесь почти нечего описывать. Из названия все видно. Правда о толковом поиске нужно подумать. Поиск должен быть как по названию песни, так и по альбому, исполнителю и году. Тут нужно думать на счет СУБД. Так мы снизим нагрузку на диск. Гораздо легче обратиться к СУБД. Так же нужно подумать о защите от роботов, иначе у вас будет вечно играть одна и та же песня.
Вот пожалуй и все на эту тему.
Подобное уже можете реализовать с помощью RadioBOSS API (ссылка выше).
1. Плагин время от времени получает базу песен (комана library)
2. Базу песен можно сохранить в БД на сервере и система поиска/просмотра/заказа на сайте будет работать уже с этой базой.
3. Вставка трека в плейлист - команда inserttrack.
Некоторые пользователи уже реализовали подобное для себя, в целом это работает.
 
Вобщем понятие "сервер" у всех неопределенное...
Для меня сервер это машина, которая работает круглые сутки выполняя какую-то необходимую для меня задачу (выдачу аудио на передатчик и вещание в сеть), но правильнее это было бы назвать не сервером, а рабочей станцией. Понятие сервер очень расплывчато.

Так и есть, подтверждаю у меня на Core i3 загрузка CPU составляет от 0% до 1%, с вклченным плагином компрессором от 1% до 3%. Считайте это вообще "ничего" :)
 
Novossyol сказал(а):
Так и есть, подтверждаю у меня на Core i3 загрузка CPU составляет от 0% до 1%, с вклченным плагином компрессором от 1% до 3%. Считайте это вообще "ничего" :)
Именно поэтому мне и кажется странной просьба снизить загрузку процессора...
 
Вы забыли про другие программы, которые гипотетически могут работать на сервере вместе с Radioboss, а именно:
1. Microsoft IIS.
2. PHP.
3. MySQL или другая СУБД.
4. IceCast или что-то в этом роде.
5. Почтовый сервер с несколькими ящиками.
Я думаю не стоит упоминать о том, что все это кушает ресурсы, даже очень много ресурсов.
 
Как я писал выше, RadioBOSS потребляет мало ресурсов и дальнейшая оптимизация программы смысла не имеет: выгадывать десятые/сотые доли процентов загрузки CPU дело неблагодарное (да и не нужное).

Если очень критично, в настройках в разделе Вид поставьте галочку "Выключить визуализацию/отображение уровня". Хотя, при современных процессорах (даже тех, которые предлагаются на бюджетных серверах) это никакого заметного влияния не оказывает. Это было актуально лет 8-10 назад, на одноядерных процессорах с частотой ~1ГГц, где-то на 0.5% меньше потребление становилось.

Gordon Freeman сказал(а):
...
Я думаю не стоит упоминать о том, что все это кушает ресурсы, даже очень много ресурсов.
Да, но в этом случае проблема не в RadioBOSS. Если другие программы сжирают все ресурсы - значит, нужно что-то с этими программами делать, а не с RB.
 
Назад
Верх