powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ищу примеры на С
25 сообщений из 65, страница 2 из 3
Ищу примеры на С
    #39969118
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

ничего, что клиент сам себе один любимый, а у сервера их таких х\з сколько в данный момент ?
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969120
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
YuRockБывает гораздо лучше выделить десяток мегабайт и одним пакетом с сервера

слишком много вас таких, желающий вытащить "десяток мегабайт". Никакой памяти не напасёшся.
А потом, например, при SORT создается временный файл, который ОС пытается разместить в памяти полностью.
А ты его затем утаскиваешь.
Впрочем, заканчивается это всё точно так же - приходит 10-20 таких клиентов, каждому подай отчет 2-5 гиг, в результате память кончается, и всё это тащится на клиента с диска. А потом жалуются.И к чему это? Сортировка должна быть произведена полностью в любом случае - все я записи профетчил или нет.
Даже если бы это было не так - не вижу смысла делать многомегабайтные запросы и потом, не фетча записи, закрывать запрос. Это странные клиенты. Хотя всякая логика бывает, конечно.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969121
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
YuRock,

ничего, что клиент сам себе один любимый, а у сервера их таких х\з сколько в данный момент ?
Не вижу, как это усложняет задачу кроме возможности запроса
"верни следующую запись"
добавить возможность запроса
"верни следующие N записей или сколько осталось, если их меньше N".

Или ты на память намекаешь? Если да - то это полностью на совести прикладных программистов будет, ясное дело.
Они могут как существенно снизить время получения данных, так и переполнить память сервера, что увеличит это время.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969125
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

речь о том, что нет универсально хороших решений.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969127
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Вот, к примеру, есть отчет, который возвращается запросом, результат которого будет 10000 записей 10Мб.

Это на 100 клиентов - 1Gb всего на буффер для этого. При условии, что все одновременно захотят.

Вот у меня клиент есть ~150 точек, большинство из которых - на спутнике (и ничего другого нет лучшего).
Скорость > 10Мбит, но пинг - 9 секунд.

Получить такой резалтсет в таких условиях можно было бы за 20 секунд. И серверу было бы лучше - отдал сразу всё и забыл.
А сейчас за такую задачу даже браться нет смысла - не дождутся, приходится придумывать другие архитектурные решения.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969128
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
YuRock,

речь о том, что нет универсально хороших решений.
Так и я об этом.
Потому надо давать больше свободы прикладным программистам - они знают (могут знать), как в их случае может быть лучше.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969130
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
hvlad,

Вот, к примеру, есть отчет, который возвращается запросом, результат которого будет 10000 записей 10Мб.

Это на 100 клиентов - 1Gb всего на буффер для этого. При условии, что все одновременно захотят.
Ты действительно считаешь, что сеть в состоянии мгновенно проглотить 100 пакетов по 10МБ на 100 адресов ?

YuRock
Вот у меня клиент есть ~150 точек, большинство из которых - на спутнике (и ничего другого нет лучшего).
Скорость > 10Мбит, но пинг - 9 секунд.

Получить такой резалтсет в таких условиях можно было бы за 20 секунд. И серверу было бы лучше - отдал сразу всё и забыл.
Ты уверен, что сервер (спутник) не отдавал бы их по-очереди в таких условиях ?

YuRock
А сейчас за такую задачу даже браться нет смысла - не дождутся, приходится придумывать другие архитектурные решения.
Боюсь, ты хочешь и рыбку съесть, и всё остальное - так не бывает :)
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969131
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Потому надо давать больше свободы прикладным программистам - они знают (могут знать), как в их случае может быть лучше.
Firebird разрешает в некоторой степени управлять размером сетевого пакета (логического, есс-но)
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969133
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только смысла в этом никакого. Запрос-то на фетч с сервера отправляется ещё до того, как
клиентский буфер резалтсета опустеет, не так ли?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969134
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ну да, как первый байт получили - сразу спрашиваем новый пакет.
Или нет так ? А как ? И как тут влияет размер пакета ?
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969138
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Ты действительно считаешь, что сеть в состоянии мгновенно проглотить 100 пакетов по 10МБ на 100 адресов ?
Не мгновенно, конечно, но передать гигабайт по гигабитной сетке можно за реальное, не космически большое время. Речь о считанных секундах.
hvlad
Ты уверен, что сервер (спутник) не отдавал бы их по-очереди в таких условиях ?

Даже если и так - это было бы жизнеспособно.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969140
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
YuRock
Потому надо давать больше свободы прикладным программистам - они знают (могут знать), как в их случае может быть лучше.
Firebird разрешает в некоторой степени управлять размером сетевого пакета (логического, есс-но)
Я не в курсе, если это возможно - хорошо, это похоже на решение проблемы долгого пинга.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969142
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
hvladТы действительно считаешь, что сеть в состоянии мгновенно проглотить 100 пакетов по 10МБ на 100 адресов ?
Не мгновенно, конечно, но передать гигабайт по гигабитной сетке можно за реальное, не космически большое время.Так она же не гигабитная ?


YuRock
hvladТы уверен, что сервер (спутник) не отдавал бы их по-очереди в таких условиях ?

Даже если и так - это было бы жизнеспособно.Первый получит своё через 10 сек, второй - через 20, 10-ый - через 100 и т.д.

Жизнеспособно ?
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969143
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
hvlad
Firebird разрешает в некоторой степени управлять размером сетевого пакета (логического, есс-но)
Я не в курсе, если это возможно - хорошо, это похоже на решение проблемы долгого пинга.
Я же сказал - в некоторой степени :)
См. TcpRemoteBufferSize

PS Долгий пинг так или иначе себя покажет
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969144
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Так она же не гигабитная ?
Почему? На сервере - именно гигабитная.

hvlad
Первый получит своё через 10 сек, второй - через 20, 10-ый - через 100 и т.д.

Жизнеспособно ?
Да, даже так очень жизнеспособно, ибо никогда не бывает, чтобы именно этот отчет бухгалтеры магазинов запустили именно одновременно.
А даже если 10 одновременно - это всего лишь 100 секунд - это реальное время.
Сколько времени займет поочерёдный фетч 10к записей - я даже считать не хочу.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969145
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
YuRock
пропущено...
Я не в курсе, если это возможно - хорошо, это похоже на решение проблемы долгого пинга.
Я же сказал - в некоторой степени :)
См. TcpRemoteBufferSize

PS Долгий пинг так или иначе себя покажет
Благодарю, почитал.
Там вроде лимит в 32 кб.
Легко посчитать во мя для моего примера: 10000/32 = 300. 3 тысячи секунд. Это - НЕ жизнеспособно.
Но всё равно спасибо, это может ускорить некоторые кейсы в несколько раз.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969146
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockНа сервере - именно гигабитная
сервер в вакууме? Ты о чем вообще? Допустим, на сервере сеть гигабитная, а у клиента модем gprs 3g. Дальше что?
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969147
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
YuRockНа сервере - именно гигабитная

сервер в вакууме? Ты о чем вообще? Допустим, на сервере сеть гигабитная, а у клиента модем gprs 3g. Дальше что?Сервер что, со всеми клиентами работает по скорости самого медленного (тонкого) клиента?
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969148
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или по очереди? Я не понимаю, на что вы намекаете.

Я понимаю так, грубо говоря: если сервер гигабитный, и у него 10 клиентов 100-мегабитных, то сервер может в секунду посылать по 100 мегабит каждому клиенту, а вот если клиентов 11 - то уже меньше.
Возможно, я заблуждаюсь.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969150
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladну да, как первый байт получили - сразу спрашиваем новый пакет.
Или нет так ? А как ? И как тут влияет размер пакета ?

Нууу... Например, можно завести какую-нибудь переменную и при каждом фетче проверять: если
количество сообщений в буфере упало ниже её значения - посылать новый запрос. Главное дать
этой переменной имечко позаковыристее, чтобы никто не догадался к чему она служит.
Например, rrq_reorder_level.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969152
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
hvladак она же не гигабитная ?
Почему? На сервере - именно гигабитная.Какая разница ? Скорость передачи данных определяется самым медленным звеном.
Или ты надеешься, что все промежуточные уровни будут буферизовать эти гигабайты ?


YuRock
Сколько времени займет поочерёдный фетч 10к записей - я даже считать не хочу.
Нет никакого поочерёдного фетча. Не читай бред.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969153
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

иди к Джимми поплачь.

PS rrq_reorder_level - абсолютно нормальное имя. Если читать уметь.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969155
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
если сервер гигабитный, и у него 10 клиентов 100-мегабитных, то сервер может в секунду посылать по 100 мегабит каждому клиенту
Ты хочешь, чтобы эту секунду сервер никого больше не обслуживал.
Это так не работает. И не будет работать никогда.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969160
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
YuRock
если сервер гигабитный, и у него 10 клиентов 100-мегабитных, то сервер может в секунду посылать по 100 мегабит каждому клиенту
Ты хочешь, чтобы эту секунду сервер никого больше не обслуживал.
Это так не работает. И не будет работать никогда.
Кого еще, если у него 10 клиентов? Именно их он и должен обслуживать. Ну, еще, может, что-то важное делать с базой, накладные расходы... Я написал: грубо говоря.
...
Рейтинг: 0 / 0
Ищу примеры на С
    #39969162
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Скорость передачи данных определяется самым медленным звеном.
Странно это слышать. Я не знаю особенностей внутренностей сервера, но, странно... Как бы то ни было.

hvlad
Нет никакого поочерёдного фетча. Не читай бред.


Я и не говорю, что на каждую запись отдельный пакет. Но на размер пакета 32кб уже делил - всё-равно ужасно на долгом пинге.
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ищу примеры на С
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]