Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Приветствую всех участников форума! У меня назрел такой вопрос. Есть простая табличка из двух полей ID тип int Name тип varcar(30) Так вот суть вопроса, какая из СУБД справиться с этой задачей быстрее. Запрос к таблице такого рода SELECT * FROM tbl WHERE name='Что то'. Тачка, на которой это будет - Pentium D, SCSI RAID 1 (miror, причем программный). Операционная система - что-нибудь из никсов. Плотность запросов ~30000-50000 в секунду. Размер таблицы 3 млн. записей. Размер порядка 200 мегабайт. Есть одно но. СУБД должна быть бесплатно, хоть оракл, но бесплатный, его ограничений по размеру базы должно хватить. Конечно, ограничение по процессору и памяти не радуют, но всё же. И сразу второй вопрос, кто имел дело с бесплатным ораклом? Какие его плюсы и насколько он урезан по сравнению с нормальным ораклом. Я бы мог протестить всё самостоятельно, но хотелось бы узнать в каком ключе двигаться и что тестить(не тратить же время на тестирование всех СУБД, к сожалению время не позволяет). Кроме того, практика всегда отличается от тестов, поэтому рад буду выслушать все ваши мнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2006, 19:18 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right!Приветствую всех участников форума! У меня назрел такой вопрос. Есть простая табличка из двух полей ID тип int Name тип varcar(30) Так вот суть вопроса, какая из СУБД справиться с этой задачей быстрее. Запрос к таблице такого рода SELECT * FROM tbl WHERE name='Что то'. Тачка, на которой это будет - Pentium D, SCSI RAID 1 (miror, причем программный). Операционная система - что-нибудь из никсов. Плотность запросов ~30000-50000 в секунду. Размер таблицы 3 млн. записей. Размер порядка 200 мегабайт. На однопроцессорной машине - никакая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2006, 19:32 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
PENTIUM D - у него два ядра, следовательно два проца. Или и это не хватит? Тогда вопрос. как можно разрулить кластер на двух тачках похожей конфигурации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2006, 19:38 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right!Запрос к таблице такого рода SELECT * FROM tbl WHERE name='Что то'. Для такого вида запросов в таком количестве голая СУБД - не лучший выбор, слишком много лишнего навешано. Лучше закешировать эти 200 мегов в памяти, в хэше/массиве/итп и выдавать без всяких селектов. На тему бесплатного оракла.... скажем так, ничего существенного с точки зрения описанной задачи там не отрезано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2006, 20:26 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
softwarer Thats right!Запрос к таблице такого рода SELECT * FROM tbl WHERE name='Что то'. Для такого вида запросов в таком количестве голая СУБД - не лучший выбор, слишком много лишнего навешано. Лучше закешировать эти 200 мегов в памяти, в хэше/массиве/итп и выдавать без всяких селектов. Просто можно было кешить всё на "клиенском" приложении, но проблема в том, что с этой базой работают несколько независимых серверов, а писать синхронизацию всего этого добра.... Неужели на уровне СУБД нельзя такое обеспечить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2006, 20:42 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right!Просто можно было кешить всё на "клиенском" приложении, Я бы скорее приписал что-нибудь сбоку, не сервер приложений, а просто "небольшой сервер ответа вот на этот персональный вопрос". И пусть все спрашивают именно у него, а он будет возвращать данные из кэша и слушать оповещения БД об изменении данных. Thats right!Неужели на уровне СУБД нельзя такое обеспечить? Можно. Но при этом я бы ожидал потерь в производительности. Насколько заметных - не готов сходу оценить. По идее, самыми быстрыми в этом случае должны быть in-memory databases, затем - обычные из расчета "чем проще, тем лучше". Но с чем сравниваем - сравниваем с примерно мегабайтным массивом указателей на строки, для которого мы можем выбрать логику хранения/доступа исходя из особенностей данных (скажем, если id непрерывные, будет обычный индексированный массив - скорость выборки просто непревзойденная). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2006, 21:02 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Пару лет назад на двухпроцессорной машине с oracle 9i удавалось получить похожий рейт. Условия теста похожи - около 8 млн. записей, обращения по первичному ключу. Пул сессий был что-то около трех десятков, вся таблица была полностью поднята в buffer cache. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2006, 23:47 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous Пару лет назад на двухпроцессорной машине с oracle 9i удавалось получить похожий рейт. Условия теста похожи - около 8 млн. записей, обращения по первичному ключу. Пул сессий был что-то около трех десятков, вся таблица была полностью поднята в buffer cache. 30000-50000 в секунду? А сколько типичное кол-во выбираемых строчек? Если 1-4, то могу поверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 10:51 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Funny_Falcon andrey_anonymous Пару лет назад на двухпроцессорной машине с oracle 9i удавалось получить похожий рейт. Условия теста похожи - около 8 млн. записей, обращения по первичному ключу. Пул сессий был что-то около трех десятков, вся таблица была полностью поднята в buffer cache. 30000-50000 в секунду? А сколько типичное кол-во выбираемых строчек? Если 1-4, то могу поверить. Суть проста, надо выбрать ID слова и всё, количество возвращаемых записе - одна, так как слова в поле Name уникальны. А если тип HEAP в мускуле для этой цели использовать? И если как вариант подойдет, то как лучше сбрасывать данные из HEAP в Innobd например, как лучше провести синхронизацию? Есть у кого-нибудь подобная практика? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 11:05 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right! Funny_Falcon andrey_anonymous Пару лет назад на двухпроцессорной машине с oracle 9i удавалось получить похожий рейт. Условия теста похожи - около 8 млн. записей, обращения по первичному ключу. Пул сессий был что-то около трех десятков, вся таблица была полностью поднята в buffer cache. 30000-50000 в секунду? А сколько типичное кол-во выбираемых строчек? Если 1-4, то могу поверить. Суть проста, надо выбрать ID слова и всё, количество возвращаемых записе - одна, так как слова в поле Name уникальны. А если тип HEAP в мускуле для этой цели использовать? И если как вариант подойдет, то как лучше сбрасывать данные из HEAP в Innobd например, как лучше провести синхронизацию? Есть у кого-нибудь подобная практика?Можно попробовать MySQL cluster поднять. он затаскивает всю БД в память и оперирует in-memory. Может быть и вытянет. + это транзакционный движок и не нужно мучаться со "сбрасывать данные из HEAP в Innobd", т.к. сохраняет данные/логи на винте. НО cluster предназначен для "постоянной доступности" данных, и скорость не основной его плюс. Нужно тестить в общем. ЗЫ а действительно нужно 30к - 50к запросов в сек НА ОДИН сервер. Возможно достаточно будет поднять несколько СУБД разгрузив их, связать через один мастер - много подчиненных. Управление и наполнение идет через мастера, запросы на подчиненных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 11:24 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right! Суть проста, надо выбрать ID слова и всё, количество возвращаемых записе - одна, так как слова в поле Name уникальны. Ну тогда не нужен Вам никакой SQL. Берете например GT.M и весь Ваш запрос превращается в один оператор Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 11:32 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCat Thats right! Суть проста, надо выбрать ID слова и всё, количество возвращаемых записе - одна, так как слова в поле Name уникальны. Ну тогда не нужен Вам никакой SQL. Берете например GT.M и весь Ваш запрос превращается в один оператор Код: plaintext 1. также годится MSM, CACHE, - платные M3-LITE - бесплатная принцип тот же что и GT.M но все под Windows GT.M - под LINUX в любом варианте летать будет на 220 % ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 12:23 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Хм... А GT.M под линукс не бесплатная? И как с ней работать из с++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 12:57 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right!Хм... А GT.M под линукс не бесплатная? И как с ней работать из с++? Под Linux как раз GT.M бесплатный, и исходники на sourceforge лежат :-) А как работать из С++, это уже дело вкуса, вариантов много, нужно доку читать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:10 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
GTM_UNIX-Prog-Manual-4.4.pdf глава 11 раздел Calls from External Routines: Call-Ins ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:26 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCat Thats right!Хм... А GT.M под линукс не бесплатная? И как с ней работать из с++? Под Linux как раз GT.M бесплатный, и исходники на sourceforge лежат :-) А как работать из С++, это уже дело вкуса, вариантов много, нужно доку читать... Уже скачал, просто супер(я про форум, GM.T пока не юзал, ибо только скачал). Тогда такой вопрос, просто я не разу не работал с нереляционными базами данных, но давно искал инфу о них, так вот вопрос. Могут ли нереляционные базы данных выполнять запросы аналогичные запросам с LEFT JOIN'ом в мускуле? И насколько это быстрее работает чем в мускуле. вообщем выборка что то вроде SELECT * FROM tbl AS tbl1 LEFT JOIN tbl AS tbl2 ON tbl1.id_name=tbl2.id_name WHERE tbl1.id_name1='25' and tbl2.id_name1='23'. Вообщем суть в том, что выборка идет из одной таблицы, но с извращением:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 14:17 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right! Вообщем суть в том, что выборка идет из одной таблицы, но с извращением:) Ну так тоже не страшно, сделаем индексацию в том же глобале, вот пример создания одной записи (при условии что ID и name не пересекаются) Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 16:02 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCatРезультат тоже будет мгновенный :-) Тогда вопрос, как говорится, на засыпку. Как поведет себя GT.M на базе размером в 20 гиг , где количество записей от 200 млн. на той же тачке, о которой я говорил в первом посте. Запросов разумеется гораздо меньше, макс ~3 в секунду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 17:26 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right! Тогда вопрос, как говорится, на засыпку. Как поведет себя GT.M на базе размером в 20 гиг , где количество записей от 200 млн. на той же тачке, о которой я говорил в первом посте. Запросов разумеется гораздо меньше, макс ~3 в секунду. ИМХО без проблем, если учесть, что на нем строят банковские системы и системы автоматизации крупных госпиталей. Есть подозрение, что и 200 гиг не будут проблемой.... PS С бОльшей уверенностью рекомендовал бы Cache, но вопрос был про бесплатную базу ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 17:45 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCat, а вы можете сбросить кусок кода готовой программы, мне кжется так будет легче разобраться :). Маленький примерчик ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 19:32 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
А транзакции поддерживать надо или нет? Если не надо - просто строиться хэш-таблица в оперативной памяти, и вся любовь. СУБД при таком раскладе просто не нужна, лишние "тормоза". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 19:34 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right!LittleCat, а вы можете сбросить кусок кода готовой программы, мне кжется так будет легче разобраться :). Маленький примерчик ;) Пардон, не понял, примерчик чего ? Если я знаю о каком-то механизме взаимодествия с базой данных, это еще не значит, что я использовал его в своей работе ;-) Для Вашей специфичной задачи я бы сделал прямой доступ через функции, экспортируемые libgtmshr.so, что дало бы выигрыш в скорости по сравнению с методами, рекомендуемыми в документации, но это надо маленько поразбираться с внутренним устройством системы, что требует времени... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 10:25 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCatПардон, не понял, примерчик чего ? Сори, я думал у вас был опыт работы с этой прогой. Просто хотелось посмотреть пример реализации какого нибудь алгоритма, чтобы на основе этого разбираться дальше. :) Спасибо за дельные советы. Буду пытаться "их прикрутить к проге"! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 10:38 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right! LittleCatПардон, не понял, примерчик чего ? Сори, я думал у вас был опыт работы с этой прогой. Просто хотелось посмотреть пример реализации какого нибудь алгоритма, чтобы на основе этого разбираться дальше. :) Спасибо за дельные советы. Буду пытаться "их прикрутить к проге"! Это не просто прога, это база данных, основанная на М-технологии, и в этой технологии у меня опыта больше 10 лет ;-) Ну и с GT.M, в частности, опыт имеется. Просто вопрос был слишком абстрактный, насчет примерчика. Во что превращается Ваш "хитрый" SQL запрос, я вроде показал, если спросите еще что-то конкретное, опять же могу попробовать помочь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 12:00 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right! LittleCatРезультат тоже будет мгновенный :-) Тогда вопрос, как говорится, на засыпку. Как поведет себя GT.M на базе размером в 20 гиг , где количество записей от 200 млн. на той же тачке, о которой я говорил в первом посте. Запросов разумеется гораздо меньше, макс ~3 в секунду. Вы все-таки на всякий случай протестируйте самостоятельно, тест несложный, а то тут насоветуют. 50000 запросов/сек у них будет летать в любом варианте на 220 процентов. Несерьезно. Причем обратите внимание, люди клянутся, что все будет работать, даже не узнав, какое у Вас сетевое оборудование. В интернете ж за базар отвечать не нужно. А Вам потом отвечать перед начальством и клиентами, причем в реале. Максимальное превосходство М-систем и Кеша перед РСУБД по скорости, которое нам тут продемонстрировали с очень многочисленными оговорками не дотягивало и до порядока, т.е. меньше чем в 10 раз. А вообще по-моему получалось раза в 2-3 быстрее, если не ошибаюсь и то повторить никому не удалось. Ну ладно, пусть будет М-система в 10 раз быстрее СКЛ сервера. 5000 транзакций/сек на СКЛ сервер на обычной машине в такой задаче это фантастика по-моему. Так что 50000 транзакций для М-системы это ИМХО трындеж чистой воды. А 3 транзакции на 200 млн записей легко выдаст любой нормальный СКЛ сервер на нормальном кухонном железе. По вопросу о 50000 транзакциях. Поставьте на сервер побольше мозгов, это дешево, напишите на С++ програмку, заведите там ассоциативный массив, заполняйте его в начале сессии. Подключите эту программу как плагин к веб серверу или кто у Вас обрабатывает запросы, или пусть сама слушает порты, и получите близкое к теоретическому быстродействие. Будет бесплатно и быстро, быстрее уже не получится. Как Вам тут уже говорили, непонятно зачем в этой задаче вообще нужны СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 03:26 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right! LittleCatПардон, не понял, примерчик чего ? Сори, я думал у вас был опыт работы с этой прогой. Просто хотелось посмотреть пример реализации какого нибудь алгоритма, чтобы на основе этого разбираться дальше. :) Спасибо за дельные советы. Буду пытаться "их прикрутить к проге"! Примеры замечательного кода на М можно посмотреть по ссылкам, указанным тут: /topic/282117&pg=2#2561508 Конкретно тут: /topic/54920&pg=10#2389080 В этих же топиках есть и обсуждение в смысле сравнения с СКЛ-ем. Очень показательное кстати. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 03:37 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
c127 Тут конкретная задача, которую спросивший легко протестирует как на М, так и на SQL-сервере, на это нужен день-два, если все иметь под рукой. И не надо опять развязывать религиозную войну... PS Если это будет сделано, мы все будем очень признательны за оглашение результатов эксперимента в этом топике. PPS Если сетевое оборудование будет узким местом, то это будет справедливо для любой базы данных ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 10:24 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCat PS Если это будет сделано, мы все будем очень признательны за оглашение результатов эксперимента в этом топике. Ок, как настроим железо(там есть свои проблемки) и перепишем довольно непростые проги - я обязательно оглашу результаты этих тестов. Мне, если честно, самому очень интересно попробавать эту СУБД. Как я уже говорил, с подобными вещами опыта работы у меня нет, так что сори, если немного потяну с результатами :). LittleCat PPS Если сетевое оборудование будет узким местом, то это будет справедливо для любой базы данных ;-) Что ж, я думаю гигабитной линии хватит на всё это. Не хватит - буду думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 12:01 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Thats right! Ок, как настроим железо(там есть свои проблемки) и перепишем довольно непростые проги - я обязательно оглашу результаты этих тестов. Мне, если честно, самому очень интересно попробавать эту СУБД. Как я уже говорил, с подобными вещами опыта работы у меня нет, так что сори, если немного потяну с результатами :). Будут вопросы по настройке базы - не стесняйтесь, можно по аське или мылом. Thats right!Что ж, я думаю гигабитной линии хватит на всё это. Не хватит - буду думать. Можно транк соорудить (хотя маловероятно, что не хватит ;-)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 17:23 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
c127Примеры замечательного кода на М можно посмотреть по ссылкам, указанным тут: лучше тут: /topic/9021&pg=15#717385 прастите, ниудиржался :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 18:22 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
ЛП лучше тут: /topic/9021&pg=15#717385 прастите, ниудиржался :) Ну и чем тут лучше ? Тем, что приведенный код Вы не понимаете ? Или можете на ошибки указать автору ? Если это так, то почему бы не сказать об этом прямо, а не пользоваться намеками ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 20:45 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Да уж... Грешно смеятся на людьми, которые даже не понимают того, что над ними смеются... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 21:53 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCat c127 Тут конкретная задача, которую спросивший легко протестирует как на М, так и на SQL-сервере, на это нужен день-два, если все иметь под рукой. И не надо опять развязывать религиозную войну... Человек дважды просил у вас пример кода. По каким-то причинам Вы код не привели. Я дал ссылки на код. Какие проблемы? LittleCat PPS Если сетевое оборудование будет узким местом, то это будет справедливо для любой базы данных ;-) Если сетевое оборудование потенциально может быть узким местом, то нормальный специалист о нем спросит, а не будет давать 220% за то, что система будет летать: MX -- ALEX> в любом варианте летать будет на 220 % /topic/347471&pg=1#3236380 Слушать специалиста, который бросается подобными утверждениями - себе дороже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 23:43 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCat c127 Тут конкретная задача, которую спросивший легко протестирует как на М, так и на SQL-сервере, на это нужен день-два, если все иметь под рукой. И не надо опять развязывать религиозную войну... Кстати к вопросу о войне, которую я якобы развязываю, и сравнении. Ваши ПЕРВЫЕ слова в этой дискусии были: " Ну тогда не нужен Вам никакой SQL . Берете например GT.M и весь Ваш запрос превращается в один оператор" И дальше: " При указанном объеме оперативки на сервере поставить гиг, база вся ляжет в кэш, и летать будет, никто не догонит :-) " /topic/347471&pg=1#3235976 Покажите хотя бы намек на попытку сравнения. Это Вы сейчас запели о сравнении, а раньше все было просто и конкретно: СКЛ не нужен, нужен GT.M, который будет летать быстрее всех. Без всякого сравнения, все уже решено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 23:54 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
c127 LittleCat c127 Тут конкретная задача, которую спросивший легко протестирует как на М, так и на SQL-сервере, на это нужен день-два, если все иметь под рукой. И не надо опять развязывать религиозную войну... Человек дважды просил у вас пример кода. По каким-то причинам Вы код не привели. Я дал ссылки на код. Какие проблемы? Ну если Вы посмотрите внимательно предыдущие посты, то увидите примеры кода, которые я приводил в ответ на конкретные вопросы. А "какой-нибудь" кусок кода приводить ИМХО бессмысленно. Тот кусок кода, который Вы привели, сам по себе, в отрыве от контекста, бессмысленен, поскольку в нем вызываются подпрограммы, текст которых не приведен, и судить по нему о чем-либо невозможно :-) c127 LittleCat PPS Если сетевое оборудование будет узким местом, то это будет справедливо для любой базы данных ;-) Если сетевое оборудование потенциально может быть узким местом, то нормальный специалист о нем спросит, а не будет давать 220% за то, что система будет летать: MX -- ALEX> в любом варианте летать будет на 220 % /topic/347471&pg=1#3236380 Слушать специалиста, который бросается подобными утверждениями - себе дороже. Не надо притягивать за уши то, чего не было, в посте MX--ALEX нет ни слова про сетевое оборудование, а только приведены различные М-системы и сделан вывод, что на задаче с указанной структурой данных и заданным алгоритмом поиска все они будут летать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2006, 14:40 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
c127 Покажите хотя бы намек на попытку сравнения. Это Вы сейчас запели о сравнении, а раньше все было просто и конкретно: СКЛ не нужен, нужен GT.M, который будет летать быстрее всех. Без всякого сравнения, все уже решено. Хочу напомнить, что это был ответ на Ваш пост, так что о сравнении запели Вы ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2006, 14:45 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCat Не надо притягивать за уши то, чего не было, в посте MX--ALEX нет ни слова про сетевое оборудование, а только приведены различные М-системы и сделан вывод, что на задаче с указанной структурой данных и заданным алгоритмом поиска все они будут летать. Вот как раз в этом и проблема. Сетевое оборудование, да и много чего еще, играет ключевую роль, но эхспертов по М системам такие мелочи не беспокоят. У них все летает на 220% и без сети. Хорошо, забыли сеть, нет сети. Вы проводили тесты на 50000 запросах/сек в похожей задаче? Как можно утверждать, что сервер выдержит такую нагрузку? Конкретно: сколько запросов в секунду выполнил ваш сервер на подобной задаче и на подобном оборудовании? И поподробнее. LittleCat c127 Покажите хотя бы намек на попытку сравнения. Это Вы сейчас запели о сравнении, а раньше все было просто и конкретно: СКЛ не нужен, нужен GT.M, который будет летать быстрее всех. Без всякого сравнения, все уже решено. Хочу напомнить, что это был ответ на Ваш пост, так что о сравнении запели Вы ;-) Ваш первый пост: 9 окт 06, 11:32 /topic/347471&pg=1#3235976 Мой первый пост: 11 окт 06, 03:26 /topic/347471&pg=1#3244835 Какой ответ на мой пост, если Ваш пост был почти на 2 дня раньше? В нем нет намека на сравнение М систем и СКЛ серверов, там совершенно однозначно говорится что М системы быстрее всех. И только потом, когда запахло жареным, Вы начали мямлить о сравнении и о том, чтобы я не раздувал религиозные войны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 00:56 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
2 LittleCat с127Человек дважды просил у вас пример кода. По каким-то причинам Вы код не привели. Я дал ссылки на код. Какие проблемы?Ну если Вы посмотрите внимательно предыдущие посты, то увидите примеры кода, которые я приводил в ответ на конкретные вопросы Обращено не ко мне, но я таки позволю себе заметить... Вы, конечно, можете думать, что приводили кхмм... "примеры кода"... прости господи... И, судя по всему, это оказались настолько хорошие примеры кода, что сразу после Ваших примеров кода - автор топика попросил еще каких-нибудь примеров кода. На эту просьбу, что характерно, в ответ пошло какое-то соплежуйство. Что, в общем-то, и не удивляет тут уже никого. Такие вот они, мумпсисты, М-программисты, и прочие ЧАЛы (не к ночи будут помянуты). Хочу напомнить, что это был ответ на Ваш пост, так что о сравнении запели Вы ;-) Обращено опять таки не ко мне, но опять таки позволю себе заметить... Если Вы не поняли, то о сравнении "запел" никто иной, как автор топика. Прям таки начиная с заголовка темы. Впрочем, с127 уже указал на то, что у Вас явные проблемы с восприятием последовательности событий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 03:59 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
c127 LittleCat c127 Тут конкретная задача, которую спросивший легко протестирует как на М, так и на SQL-сервере, на это нужен день-два, если все иметь под рукой. И не надо опять развязывать религиозную войну... Человек дважды просил у вас пример кода. По каким-то причинам Вы код не привели. Я дал ссылки на код. Какие проблемы? LittleCat PPS Если сетевое оборудование будет узким местом, то это будет справедливо для любой базы данных ;-) Если сетевое оборудование потенциально может быть узким местом, то нормальный специалист о нем спросит, а не будет давать 220% за то, что система будет летать: MX -- ALEX> в любом варианте летать будет на 220 % /topic/347471&pg=1#3236380 Слушать специалиста, который бросается подобными утверждениями - себе дороже. мужики - спорить зачем ? на GT.M или CACHE - все летает - это практика не хотите работать на CACHE - не надо никого не заставляем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 11:04 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
MX -- ALEX мужики - спорить зачем ? на GT.M или CACHE - все летает - это практика Знаете, плотно работая с некоторой системой продолжительное время человек обычно знакомится с ее сильными и слабыми сторонами, узнает пределы возможностей и т.д. Если я слышу подобное утверждение, я вынужден предположить одно из трех: 1) человек слишком мало работает с системой и не знает пределов ее возможностей 2) человек просто никогда не сталкивался с реальными ресурсоемкими задачами и не имеет опыта их решения 3) человек лжет Без обид. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 14:25 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
c127 Хорошо, забыли сеть, нет сети. Вы проводили тесты на 50000 запросах/сек в похожей задаче? Как можно утверждать, что сервер выдержит такую нагрузку? Конкретно: сколько запросов в секунду выполнил ваш сервер на подобной задаче и на подобном оборудовании? И поподробнее. Да пожалуйста, отчего же нет :-) Имеется сервер HP, два процессора Xeon 3.0, оперативной памяти 1 гиг, RAID-5 из 6-ти дисков общим объемом 450 Гб, три сетевых гигабитных интерфейса. На два интерфейса зеркалом заведен трафик с двух интерфейсов сервера Oracle (Альфа-сервер, кластер из двух 16-ти процессорных модулей, сколько там еще чего набито, не знаю, но одновременно обслуживает в биллинговой системе 800 пользователей). База Cache 5. В РЕАЛЬНОМ ВРЕМЕНИ трафик с двух интерфейсов разбирается, пишется в базу данных в глобал (5-10 гигов в сутки). На Cache object script написан демон, который следит за изменениями этого глобала, анализирует информацию и раскладывает ее по таблицам SQL (в Cache разумеется). По третьему сетевому интерфейсу пользователи гоняют запросы по этим таблицам. Объем базы в настоящий момент 200 Гб. Вы меня конечно обвините, что это не ответ на Ваш вопрос, насчет тестов с 50000 запросов/сек на подобном оборудовании, но я не собираюсь все бросать и их проводить :-) У меня есть работающая система, про которую я рассказал, и рассказ этот для тех, кто умеет слушать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 14:56 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous MX -- ALEX мужики - спорить зачем ? на GT.M или CACHE - все летает - это практика Знаете, плотно работая с некоторой системой продолжительное время человек обычно знакомится с ее сильными и слабыми сторонами, узнает пределы возможностей и т.д. Если я слышу подобное утверждение, я вынужден предположить одно из трех: 1) человек слишком мало работает с системой и не знает пределов ее возможностей 2) человек просто никогда не сталкивался с реальными ресурсоемкими задачами и не имеет опыта их решения 3) человек лжет Без обид. тупой ты без обид ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 15:30 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
ЛПДа уж... Грешно смеятся на людьми, которые даже не понимают того, что над ними смеются... Ну есть люди, которым и палец покажи, тоже будут смеяться (я уж не говорю про код на М) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 20:18 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
ЛПВы, конечно, можете думать, что приводили кхмм... "примеры кода"... прости господи... Ну да, именно пример кода, который решает поставленную автором задачу. Я же не виноват, что в М-системах эта задача решается элементарно :-) (Именно потому и предложил их в качестве решения) ЛПИ, судя по всему, это оказались настолько хорошие примеры кода, что сразу после Ваших примеров кода - автор топика попросил еще каких-нибудь примеров кода. На эту просьбу, что характерно, в ответ пошло какое-то соплежуйство. Что, в общем-то, и не удивляет тут уже никого. Такие вот они, мумпсисты, М-программисты, и прочие ЧАЛы (не к ночи будут помянуты). Ну да, навесим на всех ярлыки и будем ими оперировать, это лучше всяких аргументов :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 20:30 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCatНу есть люди, которым и палец покажи, тоже будут смеяться (я уж не говорю про код на М) Причем тут код на М? В данный момент, например, я смеюсь над анекдотом: - Правда ли, что Иванов в казино выиграл тысячу долларов? - Истинная правда! Только не Иванов, а Петров, не тысячу, а сто, не долларов, а рублей, не в казино, а в домино, не выиграл а проиграл. Тока вот анекдот получился в новой редакции: - Правда ли, что бесплатный GT.M на однопроцессорном Pentium D с программным двухдисковым зеркалом потянет 50000 тысяч селектов в секунду к 3млн. записей? - Истинная правда! Только не бесплатный, а платный, не GT.M, а каша, не на однопроцессорном Pentium D, а на двухпроцессорном ксеоне, не с программным зеркалом, а с железным RAID-5, не с двухдисковым, а с шестидисковым, не селекты к таблицам, а логирование сетевого трафика, не 50000 селектов, а 5 гигабайт говна, не прочитать, а записать, не за секунду, а за сутки. А в остальном - истинная правда! Летать будет на 220%! (с) MX -- ALEX Если Вы не понимаете, что для записи пяти гигов говна в сутки не требуется ваащще никакая СУБД, а достаточно нотепада, то - "тупой ты без обид" (с) тот же MX -- ALEX Ну да, навесим на всех ярлыки и будем ими оперировать, это лучше всяких аргументов :-) Вы пытались что-то сказать насчет аргументов? Пожалуйста, попытайтесь еще раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 21:34 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
LittleCat c127 Хорошо, забыли сеть, нет сети. Вы проводили тесты на 50000 запросах/сек в похожей задаче? Как можно утверждать, что сервер выдержит такую нагрузку? Конкретно: сколько запросов в секунду выполнил ваш сервер на подобной задаче и на подобном оборудовании? И поподробнее. Да пожалуйста, отчего же нет :-) Имеется сервер HP, два процессора Xeon 3.0, оперативной памяти 1 гиг, RAID-5 из 6-ти дисков общим объемом 450 Гб, три сетевых гигабитных интерфейса. На два интерфейса зеркалом заведен трафик с двух интерфейсов сервера Oracle (Альфа-сервер, кластер из двух 16-ти процессорных модулей, сколько там еще чего набито, не знаю, но одновременно обслуживает в биллинговой системе 800 пользователей). База Cache 5. В РЕАЛЬНОМ ВРЕМЕНИ трафик с двух интерфейсов разбирается, пишется в базу данных в глобал (5-10 гигов в сутки). На Cache object script написан демон, который следит за изменениями этого глобала, анализирует информацию и раскладывает ее по таблицам SQL (в Cache разумеется). По третьему сетевому интерфейсу пользователи гоняют запросы по этим таблицам. Объем базы в настоящий момент 200 Гб. Вы меня конечно обвините, что это не ответ на Ваш вопрос, насчет тестов с 50000 запросов/сек на подобном оборудовании, но я не собираюсь все бросать и их проводить :-) Или говоря более коротко: "о том, что 50000 запросов в секунду будет летать мы брякнули просто так. На самом деле никаких подтверждений, что система заработает нет, подобных тестов никто не проводил". Т.е. на самом деле не можете Вы с коллегами этого гарантировать, хотя клялись на 220%. LittleCat У меня есть работающая система, про которую я рассказал, и рассказ этот для тех, кто умеет слушать. В рассказе много слов, но отсутствует самое главное - 50000 запросов в сек, в одну простую таблицу. К сожалению именно они и требуются по ТЗ, а не гиги, о которых Вы нам поведали. А в остальном все красиво, про демона, анализирующего глобалаы очень понравилось. Так что пока получается что andrey_anonymous прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2006, 03:04 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
MX -- ALEX andrey_anonymousЕсли я слышу подобное утверждение, я вынужден предположить одно из трех: тупой ты без обид Ну какие обиды - Вы раскрыли мне глаза. Теперь я точно знаю, которая из трех альтернатив верна %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2006, 03:28 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
c127[quot LittleCat]разбирается, пишется в базу данных в глобал ( 5-10 гигов в сутки ). На Cache object script написан демон, который следит за изменениями этого глобала, анализирует информацию и раскладывает ее по таблицам SQL (в Cache разумеется). По третьему сетевому интерфейсу пользователи гоняют запросы по этим таблицам. Объем базы в настоящий момент 200 Гб . Попрвьте меня если я не прав, но READONLY суперсистема на Cache живет к настоящему моменту 200Gb/(5-10 Gb в сутки) ~= 20-40 суток :) Чтобы осознать масштабы бедствия всерьез, надо подключить к Cache (сервер HP, два процессора Xeon 3.0, оперативной памяти 1 гиг, RAID-5 из 6-ти дисков общим объемом 450 Гб, три сетевых гигабитных интерфейса) тех самых 800 пользователей биллинговой системы, трафик для начала не грузить вовсе, чтобы не провалить весь эксперимент на первых же секундах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2006, 04:07 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Встречаются два психоаналитика - Я тут себе Феррари купил - такой большой, мощный, красный... - Коллега, ну мы же взрослые люди! Давайте достанем, и померяемся. MX -- ALEXмужики - спорить зачем ? MX -- ALEX, так ведь мужики то про то и говорят - зачем спорить? Давайте достанем, и померяемся. Создать двухсотмегабайтную базу с тремя миллионами записей - дело пяти минут. Дело еще одной минуты написать код, измеряющий кол-во запросов в секунду. Ну так и за чем дело стало? Доставайте свой большой и красный, его выкладывайте на стол, а тестовые скрипты выкладывайте в форум. И все желающие скачают себе чудо GT.M, и все желающие посмотрят на писят тыщ запросов в секунду. Или, MX -- ALEX, Вы предпочитаете играть роль из другого анекдота? Про грузинов, у которых у каждого в штанах по 25 сантиметров (на 220%), но только пока они сидят в ресторане, а вот в баню они вместе ходить стесняются (конфуз ведь случится)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2006, 07:06 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Что то захотелость ответить с маленькими примерами. Oracle 9.2.6, Windows 2000, 2.4 GHz, гигабитная сеть, Клиент 3,4 GHz "select user from dual" - выполняется 1200 - 1300 запросов в секунду с клиента, Visual Studio 2005, C#, класс Dictionary /* private Dictionary<string, string>*/, 3,000,000 записей, поиск - 540,000 транзакций в секунду, на WinXP, 3.4 GHz ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 15:32 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Тоже для примера MS SQL 2000. Примерно такая же железяка, но двухпроцессорная. Клиент Delph 7, сеть 100М запрос типа select num from Millenium where num= :n параметром подставляется случайное значение Millenium - таблица из 1000 цифр от 0 до 999, индекс есть За секудну выполняется 2200-2400 раз. Если тоже самое делать в цикле на сервере - то 25000-27000 Вобщем я бы за задачку обеспечить 50000 запросов в секунду не взялся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 17:07 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
SergSuperВобщем я бы за задачку обеспечить 50000 запросов в секунду не взялся В одной сессии - да. Синхронное сетевое взаимодействие с сервером не позволит. Нужен пул сессий и асинхронная модель, я уже писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 17:15 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
Наверное, но я этим никогда не занимался, поэтому и не взялся бы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 17:22 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousНужен пул сессий и асинхронная модель, я уже писал. Все равно 50000 вряд ли получится. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 23:09 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
c127 andrey_anonymousНужен пул сессий и асинхронная модель, я уже писал.Все равно 50000 вряд ли получится. ИМХО. Получали чуть меньше (~39000 запросов/сек в среднем за сутки, ежели склероз не врет), но особо и не рвались. Второй серией должны были стать тесты TimesTen (тогда еще не ораклового), но до них уже руки не дошли - нашлись более занятные задачи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 23:30 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
c127 andrey_anonymousНужен пул сессий и асинхронная модель, я уже писал. Все равно 50000 вряд ли получится. ИМХО. Что значит "все равно"??? ТЕМ БОЛЕЕ не получится. В задаче единственное узкое место - процессор. Винт практически не задействован (при объеме данных 200 мегабайт), пропускной способности памяти хватает по грубым прикидкам как минимум с десятикратным запасом (тесты Дмитрия В на предыдущей странице условно подтверждают грубые прикидки), требования к пропуской способности сети тем более будут выполнены. Ну а с точки зрения процессора как единственного узкого места - гораздо дешевле выполнить 50000 запросов последовательно в одной сессии, нежели те же самые 50000 запросов, но несколькими ассинхронно (параллельно) выполняемыми кучками, да еще и в более чем одном конекшене. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 00:01 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
ЛПНу а с точки зрения процессора как единственного узкого места - гораздо дешевле выполнить 50000 запросов последовательно в одной сессии, нежели те же самые 50000 запросов, но несколькими ассинхронно (параллельно) выполняемыми кучками, да еще и в более чем одном конекшене. Если бы у бабушки был ..., то это был бы дедушка :) К сожалению, процессор тут не определяющая сила. Лимитируют сетевые компоненты - в частности, в одной сессии Вы никогда не сможете загрузить процессор. В каждый отдельно взятый момент времени будет работать либо сервер, либо клиент, либо сетевые карты. Поэтому единственный способ загрузить оборудование - переходить в асинхронный режим, гнать запросы на сервер не дожидаясь ответов и разгребать ответы по факту их прибытия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 00:12 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
2 andrey_anonymous Лимитируют сетевые компоненты Бред сивой кобылы. Возьмите калькулятор, да посчитайте полезную нагрузку на сетевые компоненты. 50 байт текста запроса туда, 100 байт результат выборки обратно. 50 тысяч раз в секунду. Обложите это дело накладными расходами по вкусу, хоть с десятикратным умножением над полезными данными. - в частности, в одной сессии Вы никогда не сможете загрузить процессор. В каждый отдельно взятый момент времени будет работать либо сервер, либо клиент, либо сетевые карты. ЧАВО? Какой клиент? Ему то кто мешает работать? Сетевая карта сервера? Кто мешает работать сетевой карте сервера? СУБД-шный процесс? Поэтому единственный способ загрузить оборудование - переходить в асинхронный режим, гнать запросы на сервер не дожидаясь ответов и разгребать ответы по факту их прибытия. Еще раз. Ассинхронный режим не добавляет процессорных мощностей, не убавляет количества кода, не изменяет взаимодействие операционки с сетевым оборудованием, дисками, памятью. С какой стати будет выигрыш? Откуда возьмется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 00:26 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, по-моему Вы как-то необоснованно отвергли соображения ЛП. Я пробовал тогда же делать одновременно тоже самое (цикл на сервере) в двух конектах. Получилось по 13000 в каждом конекте - т.е. примерно в сумме так же как если бы работал один коннект. Т.е. асинхронность тут не приносит результата (если я конечно правильно понял что это такое). Я вот сейчас задумался - а чем поможет пул конектов? Запросы же и так идут асинхронно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 00:31 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
ЛП2 andrey_anonymous Лимитируют сетевые компоненты Бред сивой кобылы. Возьмите калькулятор ЛП, я не буду проводить ликбез. Если позволяет образование - сядьте и посчитайте. Хоть на калькуляторе, хоть на бумажке в столбик. Потом на основании своих расчетов получ и те похожий результат на сети. И только после этого я буду с Вами это обсуждать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 00:34 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
SergSuperЯ вот сейчас задумался - а чем поможет пул конектов? Запросы же и так идут асинхронно Не знаю на чем Вы пробовали, мы делали на оракеле. Там синхронный протокол: отправил запрос - ждешь ответ. Т.е. работает либо клиент, либо сервер, причем некоторое время оба проводят в ожидании очередного пакета или подтверждения от TCP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 00:36 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousЛП, я не буду проводить ликбез. Еще бы, Вам самому за буквари пора. Коллега, мы же взрослые люди - давайте достанем, и померяемся. Скрипты в студию - для односессионного последовательного выполнения 50000 запросов к двухсотмегабайтной таблице из трех миллионов записей, и для того же самого, но ассинхронного и через пул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 00:41 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous Не знаю на чем Вы пробовали, мы делали на оракеле. Там синхронный протокол: отправил запрос - ждешь ответ.Т.е. работает либо клиент, либо сервер, причем некоторое время оба проводят в ожидании очередного пакета или подтверждения от TCP. Дык в том то и дело что для MS SQL процессор не стоит, он постоянно работает и всё равно не успевает. А насчет сети. Если сеть 100МБит, т.е. это где-то 10 МБайт. Если 50000 запросов, то получается что на запрос должно уходить не больше 2КБайт. Мне кажется этого вполне достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 00:46 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
SergSuperА насчет сети. Если сеть 100МБит, т.е. это где-то 10 МБайт. Если 50000 запросов, то получается что на запрос должно уходить не больше 2КБайт. Мне кажется этого вполне достаточно. Я Вам расскажу одну поучитальную историю. Когда-то давно нас спросили "а какой канал нужен, чтобы подключить удаленное РМ"? Ну ребята ответили как по учебнику - 64К. Вкрадчивый вопрос Клиента "а ежели 256К будет - заработает?" их не настрожил. И вот предоставили канал 256К. Спутниковый. Дальше рассказывать или сами уже все поняли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 00:51 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousДальше рассказывать или сами уже все поняли? Расскажите, расскажите. Мы посмеемся. Но только рассказывайте не про удаленное РМ и спутниковый канал, а про вполне конкретную задачу - коннекшен, 50 тысяч раз "запрос туда, результат из одной строки обратно", 100-мегабитный канал (а лучше гигабитный). Расскажите, не стесняйтесь, про то, как "лимитируют сетевые компоненты". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 00:57 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous SergSuperА насчет сети. Если сеть 100МБит, т.е. это где-то 10 МБайт. Если 50000 запросов, то получается что на запрос должно уходить не больше 2КБайт. Мне кажется этого вполне достаточно. Я Вам расскажу одну поучитальную историю. Когда-то давно нас спросили "а какой канал нужен, чтобы подключить удаленное РМ"? Ну ребята ответили как по учебнику - 64К. Вкрадчивый вопрос Клиента "а ежели 256К будет - заработает?" их не настрожил. И вот предоставили канал 256К. Спутниковый. Дальше рассказывать или сами уже все поняли? Я (и вроде не только я) не понимаю на что Вы намякиваете, но в любом случае если РМ не хватает 256К, то вывод о его(РМ) создателях у меня однозначный(если конечно речь не идёт о обработке графики) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 10:43 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
SergSuper andrey_anonymousДальше рассказывать или сами уже все поняли? Я (и вроде не только я) не понимаю на что Вы намякиваете, но в любом случае если РМ не хватает 256К, то вывод о его(РМ) создателях у меня однозначный(если конечно речь не идёт о обработке графики) ОК, продолжаю рассказ :) В процессе запуска РМ делает несколько десятков запросов к БД. Спутник висит на высокой орбите. Скорость света в вакууме 3*10e8 м/с, плюс задержки на оборудовании. От РМ до сервера и обратно IP пакеты прогуливались где-то в районе .6-1.0с. Плюс TCP, который ждет ACK-пакеты на каждый один-два переданных. Итого: только запуск рабочего места занимал в этих условиях до 30-40 минут. Напомню, в "нормальных" условиях РМ нормально работало на 64К. Мораль: не пропускной способностью единой живут сети связи, для синхронных/квитированных протоколов время отклика - чрезвычайно важная, порой определяющая характеристика. Вот господин ЛП, например, искренне верит в технологии и в то, что 1Гбит - это повод не задумываться о СПД с ее проблемами и особенносями. Однако легко показать, что сетка 1Gbit имеет те же проблемы: шуму, конечно, было много но понять что и почему происходит можно, если почитать с этого поста и дальше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 11:03 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousЛимитируют сетевые компоненты - в частности, в одной сессии Вы никогда не сможете загрузить процессор. В каждый отдельно взятый момент времени будет работать либо сервер, либо клиент, либо сетевые карты. Не нужно так категорично, это зависит от архитектуры софта и железа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 23:53 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousВот господин ЛП, например, искренне верит в технологии и в то, что 1Гбит - это повод не задумываться о СПД с ее проблемами и особенносями. Нет, я искренне верю в то, что 50000 запросов в секунду и Pentium D - это повод не даже не пытаться задумываться о том, сколько имеется гигабит :) Что же до технологий - ну да, я в них верю. Я даже готов поверить, что Вы сервер на Альфа Центавра вынесли, и по спутниковому каналу с ним коннектитесь. Вот ведь какая развлекуха... Тут никто из участвовавших в обсуждении не может 50000 запросов в секунду показать даже в локальном исполнении, ни пятьюдесятью тысячами пакетов, ни даже одним пакетом с запросом в цикле - ну не хватает проца, хоть ты тресни. Вы предлагаете вынести сервер куда-то в космос и конектиться к нему через спутниковый канал? Ну да и сто болтов Вам в дупу, и попутного ветра! Теперь у Вас есть дополнительная проблема, и Вы её решаете. Когда (если) с помощью пула коннектов и ассинхронного выполнения Вы самоотвержено решите проблему, которую сами себе и создали - то упретесь опять таки в то, что Вам по-прежнему не хватает процессорных мощностей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 02:22 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
ЛПупретесь опять таки в то, что Вам по-прежнему не хватает процессорных мощностей Я приводил условия проведенного теста - двухпроцессорный HP, что-то в районе 2Ггц на тот момент, oracle 9i. И результат тоже приводил - ~35-40тысяч запросов в секунду, количество сессий в пуле (АФАИР) в районе 30. Вы просто недостаточно внимательны. Теперь о процессорных мощностях. Я ведь не зря про сеть упоминал. Это тоже уловка - эти тыщи ответов от сервера еще надо суметь принять и обработать, что, как ни странно, тоже требует процессора :) Т.е., с одной стороны, мы приближали наши тесты к требуемой архитектуре, с другой - фактически добавили в систему камней, учитесь ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 02:57 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousЯ приводил условия проведенного теста - двухпроцессорный HP, что-то в районе 2Ггц на тот момент, oracle 9i. И результат тоже приводил - ~35-40тысяч запросов в секунду, количество сессий в пуле (АФАИР) в районе 30. Вы просто недостаточно внимательны. Во-первых. Ни двухпроцессорного HP, ни 2ГГц не упоминалось раньше. В-вторых. Не указаны общие объемы данных, только общее количество записей. Хоть это и критично, конечно. Во-третьих. Двухлетней давности двухпроцессорный двухгигацерцовый HP (я так понимаю вряд ли Celeron) - мало похож на Pentium D. В-четвертых. Я что, телепят что-ли - догадывать о том, что надо собирать Ваши высказывания по-кусочкам с разных страниц? В-пятых. 39 тысяч запросов в секунду - это все-таки не затребованные 50 тысяч. В-шестых. Если Вы утверждаете, что ассинхронное выполнение в пуле имеет выигрыш по сравнению с односессионным синхронным выполнением, то я хотел бы видеть результат этого самого односессионного синхронного выполнения. Против 39000 - сколько запросов в секунду? Теперь о процессорных мощностях. Я ведь не зря про сеть упоминал. Это тоже уловка - эти тыщи ответов от сервера еще надо суметь принять и обработать, что, как ни странно, тоже требует процессора :) Для того, чтобы на клиенте принять и обработать тысячи ответов от сервера - серверный процессор не требуется (за искл. мизера на стек TCP/IP). Стреляли громко, но мимо. Т.е., с одной стороны, мы приближали наши тесты к требуемой архитектуре, с другой - фактически добавили в систему камней Ага. Добавили процессоров путем увеличения числа параллельно обрабатываемых задач. Чудны дела твои, хосспадя. учитесь ;) Да я бы рад. Поэтому еще раз повторяю - скрипты в студию. Пентиум Д имеется, ну и оракл где-нибудь найдем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 03:46 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
ЛП andrey_anonymousВы просто недостаточно внимательны. Во-первых. Ни двухпроцессорного HP, ни 2ГГц не упоминалось раньше. В-вторых. Не указаны общие объемы данных, только общее количество записей. Хоть это и критично, конечно. Да ну? ЛПВо-третьих. Двухлетней давности двухпроцессорный двухгигацерцовый HP (я так понимаю вряд ли Celeron) - мало похож на Pentium D. Для непонятливых: я всего лишь показывал, что результат достижим средствами SQL-машины на серверном оборудовании начального уровня. Под Pentium D я ничего не говорил. ЛПВ-четвертых. Я что, телепят что-ли - догадывать о том, что надо собирать Ваши высказывания по-кусочкам с разных страниц? Тут дело такое: я предпочитаю беседовать с людьми, которые помнят о чем речь либо не ленятся восстанавливать контекст беседы, особенно если жжется желание погадить. ЛПВ-пятых. 39 тысяч запросов в секунду - это все-таки не затребованные 50 тысяч. Да ну? А если перечитать первый пост: Thats right!Плотность запросов ~30000-50000 в секунду. Размер таблицы 3 млн. записей. Размер порядка 200 мегабайт. ЛПВ-шестых. Если Вы утверждаете, что ассинхронное выполнение в пуле имеет выигрыш по сравнению с односессионным синхронным выполнением, то я хотел бы видеть результат этого самого односессионного синхронного выполнения. Против 39000 - сколько запросов в секунду?Первый резонный вопрос в том потоке флуда, который Вы вылили в этот бедный топик. Наш стенд показал ориентировочно 500-800. ЛПДля того, чтобы на клиенте принять и обработать тысячи ответов от сервера - серверный процессор не требуется (за искл. мизера на стек TCP/IP). Стреляли громко, но мимо.ЛП, я уже давно понял что Вы ничегошеньки в сетях не понимаете. Вам на эту тему отвечаю в последний раз: стек TCP/IP требует отнюдь не "мизер". Встречал условную оценку, что на передачу по TCP/IP одного бита в секунду требуется мощность условного процессора с тактовой частотой 1Гц. Соответственно на передачу с рейтом 1GBit требуется процессор 1ГГц. Поставьте два-три 1Gb адаптера и при полной нагрузке на сеть исчерпаете возможности однопроцессорного сервера. Практика, кстати, с этой оценкой расходится не сильно. Но стек TCP/IP это еще не все. Над ним построен протокол с БД, а к нему в свою очередь - интерфейсные библиотеки. И все это тоже хочет кушать. Так что клиента Вы совершенно напрасно списали со счетов. ЛП Т.е., с одной стороны, мы приближали наши тесты к требуемой архитектуре, с другой - фактически добавили в систему камней Ага. Добавили процессоров путем увеличения числа параллельно обрабатываемых задач. Чудны дела твои, хосспадя. Вы знаете другой способ эффективно загрузить дополнительные физические CPU? Поделитесь, я внимаю Про скрипты: их не будет в форуме. Работы проводились не для собственного удовольствия и не за собственный счет - прошу этот аспект воспринимать правильно . Возможно, и описывать эксперимент не стоило - мне казалось, вещи очевидные, а вон оно какой ступор у народонаселения вызвало (у отдельных представителей в качестве индивидуальной реакции - гиперактивность). В общем, все, что хотел, я по этой теме сообщил. Кому надо - дойдет до остального сам, кому не надо - тому не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 11:30 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
2 andrey_anonymous 8( Ну вот. Постил-постил что-то про спутники на двухпроцевых НП, учиться предлагал. И вот: "скриптов не будет" Сразу бы сказал. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 16:32 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
2 andrey_anonymous ЛП andrey_anonymousВы просто недостаточно внимательны. Во-первых. Ни двухпроцессорного HP, ни 2ГГц не упоминалось раньше. В-вторых. Не указаны общие объемы данных, только общее количество записей. Хоть это и критично, конечно. Да ну? Ну да. Ни HP, ни 2ГЦ, ни объемов данных по этой ссылке нету. ЛПВо-третьих. Двухлетней давности двухпроцессорный двухгигацерцовый HP (я так понимаю вряд ли Celeron) - мало похож на Pentium D. Для непонятливых: я всего лишь показывал, что результат достижим средствами SQL-машины на серверном оборудовании начального уровня. Достижим-достижим, конечно. Тока вот достигнуть его почему-то никто не может :) Под Pentium D я ничего не говорил. Ну чего ж Вы так? У автора, позволю себе заметить, именно Pentium D, а вовсе не сервер начального уровня, находящийся на Плутоне, со связью через спутниковый канал. ЛПВ-четвертых. Я что, телепят что-ли - догадывать о том, что надо собирать Ваши высказывания по-кусочкам с разных страниц? Тут дело такое: я предпочитаю беседовать с людьми, которые помнят о чем речь либо не ленятся восстанавливать контекст беседы, особенно если жжется желание погадить. Да я то контекст беседы помню. Это вот Вы постоянно куда-то сползаете, то на спутниковый интернет, то на двухголовый сервак, мупсисты так вообще на логирование сетевого трафика сползли. ЛПВ-пятых. 39 тысяч запросов в секунду - это все-таки не затребованные 50 тысяч. Да ну? А если перечитать первый пост: Thats right!Плотность запросов ~30000-50000 в секунду. Размер таблицы 3 млн. записей. Размер порядка 200 мегабайт. Ну да. Если прочитать первый пост, то становится ясно, что система, обеспечивающая 39000 запросов в секунду - не справится с потом запросов плотностью до пятидесяти тысяч в секунду. Наш стенд показал ориентировочно 500-800. Позорище. Встречал условную оценку, что на передачу по TCP/IP одного бита в секунду требуется мощность условного процессора с тактовой частотой 1Гц. Я слышал, что кур доят, и что дальше? Впрочем, пусть будет герц на бит. По условиям задачи требуется перегнать запрос туда - строку обратно. Пятьдесят тысяч раз в секунду. Полезной инфы - несколько мегабайт в секунду. Даже учитывая, что помимо полезной инфы будет гнаться как минимум столько же инфы бесполезной, все равно получается, что от Вашего могучего многоголового сверхгигагерцового сервера - откусится несколько десятков мегагерц. Ах, какая жалость. Соответственно на передачу с рейтом 1GBit требуется процессор 1ГГц. Поставьте два-три 1Gb адаптера и при полной нагрузке на сеть исчерпаете возможности однопроцессорного сервера. Практика, кстати, с этой оценкой расходится не сильно. Вы про что вообще говорите? Откуда Вы взяли необходимость в передаче с рейтом 1Гбит? Зачем нужно полностью нагружать аж три гигабитных сетевых интерфейса? Для передачи туда-сюда нескольких мегов полезной инфы? Вы знаете другой способ эффективно загрузить дополнительные физические CPU? Какие-такие дополнительные физические ЦПУ? В топике идет речь идет про один ЦПУ, конкретно про Pentium D. Про скрипты: их не будет в форуме. У нас есть такие приборы, но мы вам про них не расскажем. Слив засчитан. Присоединяйтесь к мумпсистам. У них тоже всё летает, но вот в баню они ходить стесняются. В общем, все, что хотел, я по этой теме сообщил. Кому надо - дойдет до остального сам, кому не надо - тому не надо. Ага, ага. "...У меня есть работающая система, про которую я рассказал, и рассказ этот для тех, кто умеет слушать..." (с) LittleCat ... и не умеет думать (ё) моё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 17:51 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
10242 andrey_anonymous Ну вот. Постил-постил что-то про спутники на двухпроцевых НП, учиться предлагал. И вот: "скриптов не будет" Сразу бы сказал. Скрипты я не обещал. Вся серия постингов была всего лишь попыткой прояснить некоторые ключевые моменты. С кожалению, ЛП оказался на поверку обычным флудером, а автору топика все это давно неинтересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 18:10 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
2andrey_anonymous извините, но флудер это вы. Влезли с какими-то сказками. Это просто невежливо по отношению к автору топика и обычным посетителям (не сектантам). Обратите внимание на первый же ответ: На однопроцессорной машине - никакая. кратко и вполне по делу. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 18:16 |
|
||
|
Кто быстрее выполнит простой запрос
|
|||
|---|---|---|---|
|
#18+
1024Влезли с какими-то сказками. As You wish. У меня был на памяти такой эксперимент, я привел результаты. Видимо, больше никто подобных не ставил - никаких проблем. Я в повседневной практике теми результатами пользуюсь, и пока не разочаровался. 1024Обратите внимание на первый же ответ: На однопроцессорной машине - никакая. кратко и вполне по делу. Если автору надо просто отказаться от проекта - вероятно, этого достаточно. Если надо решить задачу - то желательно определиться с подходами. Я исходил из второго - возможно, зря. Я не утверждал, что предложенный вариант - единственно возможный. Больше всего удивила несколько неадекватная реакция и категорическое нежелание разбираться. Впрочем, это персональное дело каждого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 18:25 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1553475]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
99ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 393ms |

| 0 / 0 |
