Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
86 / 86 / 13
Регистрация: 03.03.2011
Сообщений: 1,873

Не падающий сервер

14.01.2015, 14:40. Показов 4811. Ответов 84
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собираюсь писать сервер, который должен выдерживать ~100 запросов в секунду
Каждый запрос будет обращаться к бд раза 3-4, писать в файл и отдавать небольшой(пару строк) ответ.
Писал однажды маленький чатик по технологии comet, когда скрипт висел в памяти, пока в бд не произойдет изменение. И получалось, если больше 2 человек пользовались этим чатом, то сайт падал.
Он у меня был на бесплатном хосте radyx, но меня все равно это насторожило.
Прошу объяснить технологию, как написать не падающий сервер.

И несколько вопросов
Возможно ли хранить массив в памяти, который будет доступен каждый раз, при выполнении скрипта? Что бы уменьшить количество обращений в бд.
Какие примерно нужны параметры у хостинга, под мои запросы? и сколько такой хостинг может стоить? обращаться к серверу будут только из СПб. Есть ли смысл искать хостинг, расположенный в СПб, чтобы ускорить процесс доступа?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.01.2015, 14:40
Ответы с готовыми решениями:

падающий снег
помогите мне нарисовать в делфи падающий снег.я не особо шарю в делфи т.к. юзаю си.кто может помогите.заранее спасибо.

Падающий снег
Помогите нарисовать падающий снег . У меня на форме нарисованый домик, ёлка.... нада только падающий снег.... я пробовал нарисовать...

падающий мяч
допустим бросили мячь с высоты 100пикселей написать задачу используя формулы S=v*t, H =100-9.81* t * t/2 после падения мячь должен...

84
86 / 86 / 13
Регистрация: 03.03.2011
Сообщений: 1,873
16.01.2015, 23:00  [ТС]
Студворк — интернет-сервис помощи студентам
Чувствую, что в скором времени вернусь сюда с новыми вопросами)
0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
17.01.2015, 16:57
Про экономию трафика, - изобретать свой бинарный протокол не имея опыта - это всегда не очень круто.

Если взять пример из этой темы:
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
[0x01][0x000d][0x04][User][0x05][12345]
1 байт опкод - метод
2 байта длинна данных в нашем случае число 13
2 байта длинна текста
4 байта текст
2 байта длинна текста
5 байт текст
То мы, как самый минимум, в один прекрасный момент получим расширение протокола вида "1 байт опкод - метод, если значение 0xFF, то след. байт так же указывает на метод", потому как 256 может в один прекрасный момент не хватить (например так случилось в Ultima Online с их бинарным протоколом). Нет, это конечно не плохо, пока количество костылей не слишком велико, а оно будет расти =)
Кроме того, сюда стоит добавить криптографии и контрольных сумм, брать в таком виде нельзя, иначе получим кучу не легитимных запросов, кому-нибудь это обязательно понадобится, с учетом простоты доступа.
Вообще формат 2 байта = длина пакета, 2 байта = контрольная сумма, N байт - зашифрованный пакет - довольно популярен среди разработчиков бинарных протоколов.

Так вот я все это к чему пишу. Работать с бинарным протоколом довольно трудоемкая штука на самом деле, если не говорить про сложности с кодом, то отсутствие ПО которое сможет с вашим протоколом работать - существенный минус. Например вы вводите новый функционал, хотите сделать A/B-тестирование, для этого нужно чтобы 10% пользователей начали подключаться к серверам с обновленным функционалом: как вы это сделаете? - Тот же nginx позволяет сделать это добавив пару строк в конфигурационный файл, т.е. пару минут займет эта задача =)

Соответственно есть предложение не выдумывать бинарный протокол, а взять любой готовый протокол и прикрутить к нему сжатие (так например сделал WhatsApp, - у них под капотом почти чистый XMPP со сжатием (FunXMPP)), если возникнет такая необходимость. В противном случае, на мой взгляд, - это чистой воды оверинжиниринг который может существенно затянуть релиз проекта и в частности совсем погубить проект.
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
17.01.2015, 17:03
Tatikoma, скажите это валве, близарду, меилу и всем остальным.
речь не про джабер клиент где плевать на трафик а про онлайн мморпг была, в ответ на то что сжатие трафика достигается не путём смены номера порта...

Цитата Сообщение от Tatikoma Посмотреть сообщение
Кроме того, сюда стоит добавить криптографии и контрольных сумм
то есть по вашему я дал реальный пример? тогда почему не придрались к символам? они байтами будут а не буквами?

это просто примерное описание, в реальном протоколе у нас плавающая длинна заголовка, криптография, срп6 авторизация без передачи пароля, сжатие и многое другое...
вот только сколько дней нужно что бы это всё расписать что бы ТС понял о чём речь?
0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
17.01.2015, 17:11
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Tatikoma, скажите это валве, близарду, меилу и всем остальным.
речь не про джабер клиент где плевать на трафик а про онлайн мморпг была, в ответ на то что сжатие трафика достигается не путём смены номера порта...
Ключевое слово, - "не имея опыта". Валве, близаррду и всем остальныым (например NCSoft), я - скажу молодцы, на метод выделили два байта (World of Warcraft, Lineage II, - из тех протоколов с которыми я работал) :-)
Хотя у них тоже свои костыли имеются, есть за что поругать. Например что в L2 отсутствует понятие QoS, в то время как близзард некоторые костыли для этого используют.

Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
это просто примерное описание, в реальном протоколе у нас плавающая длинна заголовка, криптография, срп6 авторизация без передачи пароля, сжатие и многое другое...
вот только сколько дней нужно что бы это всё расписать что бы ТС понял о чём речь?
Я о том же, поэтому ТСу это явно не нужно, как раз об этом было мое сообщение =)

Но раз уж у нас завязался такой интересный диалог: зачем разработчики онлайн игр добавляют в свои протоколы контрольную сумму, ведь в TCP уже все есть - он нам гарантирует целостность пакетов и доставку в нужном порядке. Зачем нужна еще одна контрольная сумма?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
17.01.2015, 17:22
Цитата Сообщение от Tatikoma Посмотреть сообщение
на метод выделили два байта
у них 4 байта) но суть не в этом))
ещё раз повторить что это просто в терии общий смысл был а не реальный пакет?

Цитата Сообщение от Tatikoma Посмотреть сообщение
зачем разработчики онлайн игр добавляют в свои протоколы контрольную сумму
Не знаю в ТЦП у нас нет контрольной суммы, есть первый байт, в котором информация о том сжат ли пакет ибо не все сжаты,, и сколько байт выделено на длину пакета. ни разу не было проблем с битыми данными впрочем вы и сами сказали что в тцп эта проверка уже включена, так что вряд ли она будет

Добавлено через 1 минуту
упс, обманул, у близов в вов 2 байта опкод, если верить тк.
с другой стороны, 2 байта жто 65к операций, мне кажется хватит, не правда ли?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2015, 17:22
Помогаю со студенческими работами здесь

Падающий снег
Здравствуйте! При загрузке скрипта снежинки появляются по высоте окна браузера, потом летят до конца страницы. Хочу переделать, чтобы...

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

Падающий текст
Добрый день! Как сделать падающий текст и изменение его скорости по нажатию на стрелку? Движение и позиция текста: void...

падающий квадрат
Помогите сделать падающий квадрат ) самый простой InitializeComponent(); public struct Size for (i = 0; i...

Падающий снег
Делаю падающий снег поверх картины. Как сделать так, что бы снежинки не оставляли за собой след?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
85
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru