Реклама на сайте Advertise with us

Очередной вопрос о выборе скрипта

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 03.04.03
Сообщения: 4543
Рейтинг: 1119

Ссылка на сообщениеДобавлено: 11/03/05 в 03:55       Ответить с цитатойцитата 

Xrenoder писал:
Да в общем это все ничего принципиально не меняет.
Изначально модель "мускль + внешние вычисления" проигрывает модели "специализированая база + интегрированые в нее вычисления" по любому параметру, кроме "простоты модернизации" (причины я выше изложил, и это только первостепенные), поэтому шареная память и юзание крона ситуацию не спасут.


Ты опять прав конечно, но замечу, что проблемы загруза при правильной организации алгоритмов и данных я не вижу. Я как то наблюдал рабочую систему, выполняющую 800 MySQL запросов в секунду. Это не сидж был, вообще не адалт. И ничего не тормозило. У меня просто нет такого трафика. Максимум что я вижу - 20 запросов в секунду.

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

0
 



С нами с 31.07.03
Сообщения: 839
Рейтинг: 413

Ссылка на сообщениеДобавлено: 11/03/05 в 04:00       Ответить с цитатойцитата 

была с авторой такая же ситуация ...
Советую Протон от Kildoozerа ;) 2 недели пока стоит и отношение создателей к своему софту радует ;)

1
 



С нами с 23.11.02
Сообщения: 154
Рейтинг: 90

Ссылка на сообщениеДобавлено: 11/03/05 в 10:23       Ответить с цитатойцитата 

Phoenix66 писал:
Ты опять прав конечно, но замечу, что проблемы загруза при правильной организации алгоритмов и данных я не вижу. Я как то наблюдал рабочую систему, выполняющую 800 MySQL запросов в секунду. Это не сидж был, вообще не адалт. И ничего не тормозило. У меня просто нет такого трафика. Максимум что я вижу - 20 запросов в секунду.
Проблему я вижу в нахождении правильного алгоритма трейда. Причем, что хуже всего, заметил я такое дело, что один и тот же алгоритм может трейдить хорошо, а может плохо, в зависимости от того, что за алгоритм используют трейдеры. И вот как с этим бороться - не знаю.

Ага, мускуль главное с умом юзать. У меня в среднем 200 запросов в секунду сейчас на мускуле - вообще ничего не тормозит. При тех же скриптах, думаю и 2000 запросов легко вытянет. Просто действительно используется shared память с умом для реалтайм операций. Ведь сейчас главное в производительности - это система ввода-вывода, то бишь жесткие диски. А процессоры уже настолько развиты, что такие замедляющие вещи как парсинг mysql сервером sql запроса выполняется настолько быстро и без проблем для современных процессоров, что это можно не учитывать, говоря о производительности. С быстрым процессором даже мой скрипт на мускуле, имхо, больше трафа вытянет, чем скрипт типа ucj, который использует исключительно файловую базу, так как этот скрипт быстрее упрется в производительность жеских дисков, так и не использовав в полной мере производительность процессора.
Кстати, сейчас дописывается мой CJ скрипт, который называется Fast Traffic Trader и в котором все реалтайм операции исключительно в памяти. Кроме того, там расчет ведется по крону и тем не менее он абсолютно точный ( не переливает мелким трейдерам). Несколько алгоритмов, огромное количество фич и т.д. Стараюсь сделать его лучшим среди всех платных скриптов. Он будет платным, но через пару недель нужны будут бета-тестеры, которые могут получить скрипт по очень низкой цене, так что если топикстартер может подождать - это будет лучшим выбором для него, имхо icon_smile.gif Там, к тому же, специальная заточка под использование на нескольких сиджах этого скрипта - они будут обмениваться данными о сюрферах.

0
 

Cкриптоманьяк

С нами с 14.09.00
Сообщения: 1181
Рейтинг: 245

Ссылка на сообщениеДобавлено: 11/03/05 в 11:07       Ответить с цитатойцитата 

Запрос запросу рознь.
Поиск данных - это одно. Изменение данных - это совсем другое.
Запрос в пределах одной таблицы и объединение таблиц - тоже немножко разное по ресурсам занятие.
И главное, что тормозит базы - это блокировки данных, защита от одновременного доступа.
Тормозят блокировки.
Мускль не знает, какие данные когда могут меняться, поэтому вынужден делать полную блокировку в любом случае. А это значит, что конкурентные запросы будут выстраиваться в очередь, если запрос сложный. А очередь на блокировке сама по себе сильно ресурсы жрет, поскольку системе надо следить за тем, чтобы как можно быстрее ее раскидать.
И чем сложнее структура данных, тем блокировок больше плюс время работы с данными больше (причем не в разы, а на порядки).
Вот так и получается, что при фантастической мощности процессора и скорости обмена данными, мы со своими смехотворными задачами можем загрузить сервер по самое небалуйся.
Так что фраза "а мой мускль держит тыщу запросов" - абсолютно ничего не значит, потому что непонятно, что это за запросы.
Отсюда еще один плюс специализированой базы - поскольку заранее известен регламент работы с данными, то блокировки все можно оптимизировать до предела, во многих случаях вообще обойтись без них на тех участках, где конкурентный доступ не планируется, в каких-то местах делать короткую блокировку с копированием данных ну и т.д.

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

SeRsH: добро пожаловать в клуб разработчиков лучших на свете сиджей icon_smile.gif Ты ф сотне и нийбет icon_smile.gif

0
 

Cкриптоманьяк

С нами с 14.09.00
Сообщения: 1181
Рейтинг: 245

Ссылка на сообщениеДобавлено: 11/03/05 в 11:15       Ответить с цитатойцитата 

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


В феврале уж три года (или 4), как я этот проклятый "правильный алгоритм" ищу icon_smile.gif

0
 



С нами с 23.11.02
Сообщения: 154
Рейтинг: 90

Ссылка на сообщениеДобавлено: 11/03/05 в 13:08       Ответить с цитатойцитата 

Xrenoder писал:
Запрос запросу рознь.
Поиск данных - это одно. Изменение данных - это совсем другое.
Запрос в пределах одной таблицы и объединение таблиц - тоже немножко разное по ресурсам занятие.
И главное, что тормозит базы - это блокировки данных, защита от одновременного доступа.
Тормозят блокировки.
Мускль не знает, какие данные когда могут меняться, поэтому вынужден делать полную блокировку в любом случае. А это значит, что конкурентные запросы будут выстраиваться в очередь, если запрос сложный. А очередь на блокировке сама по себе сильно ресурсы жрет, поскольку системе надо следить за тем, чтобы как можно быстрее ее раскидать.
И чем сложнее структура данных, тем блокировок больше плюс время работы с данными больше (причем не в разы, а на порядки).
Вот так и получается, что при фантастической мощности процессора и скорости обмена данными, мы со своими смехотворными задачами можем загрузить сервер по самое небалуйся.

Ну так в том-то и дело, что нужно проектировать так базу, чтобы реалтайм операции были быстрыми и чтобы конкурентные запросы не ждали своего часа. Ну что может затормозить, скажем, такую операцию как insert в оперативную память?
Цитата:

Так что фраза "а мой мускль держит тыщу запросов" - абсолютно ничего не значит, потому что непонятно, что это за запросы.

в моем случае это запросы скрипта ротатора для сбора статистики кликабельности тумб. Срабатывает на ине и ауте.
Цитата:

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

Непонятно, в чем же тут плюс. Регламент работы с данными на мускуле тоже известен. Там тоже можно все оптимизировать. Я, например, в скрипте крона данные из одной heap таблицы (куда пишутся данные в реалтайм) копирую в другую временную heap таблицу, удаляю данные из первой таблицы и это идет как одна транзакция ( то есть таблицу блокирую на время операции чтения и удаления данных, чтобы была точная статистика). Копирование из памяти в память вообще очень быстрая операция. А дальше уже удут "сложные" запросы в кроне ко вновь соданной временной таблице для расчета трейда.
А еще - индексы - очень приятная вещь в мускуле, если правильно пользоваться. Они же все в памяти находятся, да еще и оптимизированы в виде B-tree. Поиск того же ip адреса в базе произойдет на порядок быстрее в мускуле, чем в базе собственного производства без индексов. Мускуль фактически при правильном использовании - это самый оптимальный daemon, который ты, Xrenoder, зачем-то написал сам для своего сиджа, изобретя велосипед.
Цитата:

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

Ага, про heap таблицы мы не слышали? icon_smile.gif
Цитата:

SeRsH: добро пожаловать в клуб разработчиков лучших на свете сиджей icon_smile.gif Ты ф сотне и нийбет icon_smile.gif

Спасибо! icon_smile.gif

0
 



С нами с 23.11.02
Сообщения: 154
Рейтинг: 90

Ссылка на сообщениеДобавлено: 11/03/05 в 13:35       Ответить с цитатойцитата 

Кстати, еще насчет блокировок - видимо многие не знают, но мускуль позволяет производить несколько SELECT запросов и один INSERT над одной таблицей одновременно! Куда уж еще оптимизировать блокировки?
Кроме того, там есть еще INSERT DELAYED.
Видимо, просто многие не знают всех возможностей мускуля и начинают изобретать велосипеды.

0
 

Cкриптоманьяк

С нами с 14.09.00
Сообщения: 1181
Рейтинг: 245

Ссылка на сообщениеДобавлено: 11/03/05 в 14:07       Ответить с цитатойцитата 

SeRsH, ну ты прям обижаешь меня. Ну кто ж тебе сказал, что я не знаю про heap-таблицы и что у меня данные в демоне не индексированы?
Ты еще скажи, что я их пузырьковым методом сортирую. Давай, оскорбляй меня, сеть все стерпит.
Один инсерт в таблицу в момент времени - это конечно круто icon_smile.gif
Вот это я и называю "неоптимизироваными блокировками" icon_smile.gif

0
 



С нами с 23.11.02
Сообщения: 154
Рейтинг: 90

Ссылка на сообщениеДобавлено: 11/03/05 в 14:15       Ответить с цитатойцитата 


Извини, если обидел! icon_smile.gif
Про то, что у тебя данные в демоне не индексированы я не говорил. Просто про heap таблицы как вариант уже готового решения использования shared memory без всяких memory leaks ты почему-то даже не заикнулся.

А сколько инсертов должно быть в момент времени? icon_smile.gif

0
 

Cкриптоманьяк

С нами с 14.09.00
Сообщения: 1181
Рейтинг: 245

Ссылка на сообщениеДобавлено: 11/03/05 в 15:33       Ответить с цитатойцитата 

SeRsH писал:
Извини, если обидел! icon_smile.gif
Про то, что у тебя данные в демоне не индексированы я не говорил. Просто про heap таблицы как вариант уже готового решения использования shared memory без всяких memory leaks ты почему-то даже не заикнулся.
А сколько инсертов должно быть в момент времени? icon_smile.gif


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

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

Опять же в специализированом демоне можно банально сократить число необходимых запросов за счет того что вычисления можно производить по ходу выполнения запроса, не разделяя эти два процесса.

Елки, ну как будто не известно, что в общем случае специализированый инструмент выполняет свою задачу лучше, чем универсальный icon_smile.gif

0
 



С нами с 23.11.02
Сообщения: 154
Рейтинг: 90

Ссылка на сообщениеДобавлено: 11/03/05 в 15:44       Ответить с цитатойцитата 

Xrenoder писал:
При использовании шаровой памяти утечка может возникнуть в любом случае, просто в результате ошибки.
И причем здесь SQL-термин не очень понятно. Видимо, есть еще какое-то значение у него, с которым я либо не знаком, либо знаю под другим названием.

Ага, но при использовании heap таблиц, ошибка должна быть в mysql сервере для утечки. А какова вероятность, что в стабильной версии mysql, которая активно юзается на тысячах серверов есть такая ошибка, при том, что пользователи не сообщают о таковой?
Цитата:

Насчет инсертов - ошибся в горячке боя. Инсерт, конечно один в момент времени. Я имел в виду изменение содержания таблицы.
Вот их при "оптимизированой блокировке" может быть в момент времени ровно столько, сколько в таблице записей.
Количество же запросов поиска одновременных вообще может быть неограниченым - максимум, что может случиться, что запрос придется выполнить повторно, если по ходу его был выполнен инсерт. Зная, что инсерт в базе сиджа есть явление достаточно редкое, это вполне допустимый компромисс, который сильно разгружает базу.
Опять же в специализированом демоне можно банально сократить число необходимых запросов за счет того что вычисления можно производить по ходу выполнения запроса, не разделяя эти два процесса.
Елки, ну как будто не известно, что в общем случае специализированый инструмент выполняет свою задачу лучше, чем универсальный icon_smile.gif


Ну само собой! Вопрос в том, насколько это оправдано icon_smile.gif

0
 

Cкриптоманьяк

С нами с 14.09.00
Сообщения: 1181
Рейтинг: 245

Ссылка на сообщениеДобавлено: 11/03/05 в 16:22       Ответить с цитатойцитата 

SeRsH писал:
Ага, но при использовании heap таблиц, ошибка должна быть в mysql сервере для утечки. А какова вероятность, что в стабильной версии mysql, которая активно юзается на тысячах серверов есть такая ошибка, при том, что пользователи не сообщают о таковой?

Ну само собой! Вопрос в том, насколько это оправдано icon_smile.gif


Да не, речь не про утечку в мускле, а про утечку в shared памяти, если рассматривать вариант с ее использованием, который Stek предложил.
Это вроде как альтернатива мусклю обсуждалось тоже.
Т.е. данные лежат там, каждая пхп-сессия, блокируя участки семафорами, туда пишет-оттуда читает, все щасливы, никаких демонов.
Либо я идею не понял?

0
 



С нами с 23.11.02
Сообщения: 154
Рейтинг: 90

Ссылка на сообщениеДобавлено: 11/03/05 в 16:26       Ответить с цитатойцитата 

Ааа, это значит я не понял icon_smile.gif

0
 



С нами с 24.01.05
Сообщения: 60
Рейтинг: 28

Ссылка на сообщениеДобавлено: 11/03/05 в 16:47       Ответить с цитатойцитата 

а как быть с триагулярным фильтром подающим запросы через полнопроводное мультитекстурирование? smail96.gif

если серьёзно то всем ответившим спасибо, решил остановиться на протоне. всех высказавшихся по теме оценил.

0
 
+ + +
мега авм

С нами с 22.02.03
Сообщения: 2607
Рейтинг: 1366

Ссылка на сообщениеДобавлено: 11/03/05 в 18:20       Ответить с цитатойцитата 

вставлю свой каммент =)

ттт - фришный - держал 130к , без глюкоф - правда трейдил криво =)
изи сидж - платный, но я достал на халяву за пять кнопок =) - держал 380к , трейдил карашо ...

1
 



С нами с 04.11.03
Сообщения: 224
Рейтинг: 197

Ссылка на сообщениеДобавлено: 12/03/05 в 02:37       Ответить с цитатойцитата 

Fet я думаю будет оптимальный вариант, все понятно, админка удобная, траф держит нормально
http://fetcj.com/ru/

1
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »