|
|
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
Уважаемые господа! Я в БД новечёк, есть небольшой опыт работы только с MySQL. Но возникла необходимость выбора БД для будущего проекта. Прочитав не один топик на этом форуме я сделал вывод, что в принципе все БД в той или иной степени хороши, и то как они будут работать в большей степени зависит от умения программиста заточить БД. В коммерческих базах привлекает набор полезных утилит, которые можно получить при покупке лицензии и поддержка, которую обещает разработчик. Бесплатные версии коммерческих БД ограничены либо в размере, либо в количестве ЦПУ либо ещё в чём-то. Бесплатные БД хороши своей бесплатностью :) и имеют достаточно багатый функционал и набор утилит разного рода. Но решится на использование бесплатной БД тяжело в том плане, что нету менеджмента, которы без конца втирает что "с нашей БД можно горы свернуть" и "если что, мы вас спасем от потопа". Если нет опыта, то доверять приходится на слово тем кто уже использовал ту или иную бесплатную БД. Вот именно по этой причине и возникла необходимость провести тест. Условия: Будущий проект - социальная сеть. Что-то типа блогсервиса. Тоесть подразумевается сотни тысяч пользователей, десятки тысяч одновременных запросов на чтение и запись из БД. База должна быть надежной, стойкой к пиковым нагрузкам, иметь большое быстродействие, хорошо маштабироваться. Учасники: 1) MySQL 5 2) PostgreSQL 8.3 3) DB2 Express-C 4) MS SQL 2005 Тестовая платформа: CPU Pentium4 3 Ghz HT, 512 RAM, 80 Gb SATA HDD Для первых 3 участников ОС: Suse Linux Enterprise Server 10 sp1 Для МС Скул: Windows Server 2003 Необходимо разработать методику тестирования баз, чтобы более менее обьективно проверить производительность БД в условиях близких к боевым в маштабах возможностей тестовой платформы. Впринципе, мне понравилась методика описанная в статье http://www.samag.ru/cgi-bin/go.pl?q=articles;n=07.2007;a=02 которая обсуждалась сдесь: http://sql.ru/forum/actualthread.aspx?tid=510734 Но как я понял по коментам, тест был не совсем объективным ;) Со своей стороны я могу установить БД по очереди на сервер, настройки думаю оставить по умолчанию. Но моего опыта не достаточно что бы провести запросы на запись\чтение\выборку\сравнение соответственно для каждой БД и по этим (возможно ещё каким-то) критериям сравнить производительность БД. Плюс ещё вопрос, чем и как наполнить базу до размеров хотябы 256 МБ или больше, что бы было с чем работать. У кого какие мысли есть, буду признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2008, 18:53 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
akrischenko wrote: > У кого какие мысли есть, буду признателен. Забить на проект сразу. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2008, 19:18 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
согласен с предыдущим автором. 1. создать нагрузку на одном компе такого класса не получится 2. комп такого класса такую нагрузку не выдержит в принципе 3. при отсутствии реального опыта бд под такую нагрузку не спроектировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2008, 19:44 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
akrischenko пишет: > Я в БД новечёк, есть небольшой опыт работы только с MySQL. Но возникла > думаю оставить по умолчанию. Но моего опыта не достаточно что бы > провести запросы на запись\чтение\выборку\сравнение соответственно для > каждой БД и по этим (возможно ещё каким-то) критериям сравнить > производительность БД. .... > У кого какие мысли есть, буду признателен. Эта задача вообще бессмысленная. Если ты "в БД новечёк", то тем более. Так что лучше сразу плюнь на это, выбери какую-нибудь СУБД и на ней и делай. Все равно в конечном итоге производительность будет зависеть в основном от того, как сделаешь. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2008, 19:48 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
akrischenkoУ кого какие мысли есть, буду признателен. Мысль не очень хорошая, но конструктивная: судя по этому письму, если Вы проведете выбор методом random(4), то значительно сэкономите время и силы при той же точности результата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2008, 19:50 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
AAronсогласен с предыдущим автором. 1. создать нагрузку на одном компе такого класса не получится 2. комп такого класса такую нагрузку не выдержит в принципе 3. при отсутствии реального опыта бд под такую нагрузку не спроектировать ПК выбран в качестве тестового стенда из того что было под рукой, никто и не собирается запускать такую систему на нём в полном обьеме. Идея в том чтобы провети приблизительный тест. Я конечно понимаю что БД будет вести себя не линейно при росте нагрузки, и что лучше всего тестировать, так сказать, в маштабе 1:1. Но это дорого, трудоёмко и не нужно. Можно ли, скажем, смоделировать описанную ситуацию в маштабе 1:100, 1:1000, с какой-нибуть вероятностью что и на продуктиве разница в работе баз будет такой же? Может в БД я и новичек, но в сфере IT работаю не первый год, в компании где размер одной из серверных более 300кв.м., а биллинговые системы насчитывают десятки миллионов обьектов типа "пользователь". Есть опыт администрирования каталога eDirectory, опыт работы с дисковыми стойками и т.д. Давайте отнесёмся к задаче проще, как к лабораторной работе, просто из интереса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2008, 21:58 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
akrischenko wrote: > Давайте отнесёмся к задаче проще, как к лабораторной работе, просто из > интереса. Тогда - MySQL & MS SQL 2005. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2008, 22:00 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
Хорошо, но почему MySQL или MS SQL? Почему не DB2 или PostgreSQL? Начнём с вопроса как наполнить базу? Вот ещё нашёл, можно ли воспользоваться:http://sourceforge.net/projects/osdb/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2008, 23:02 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
akrischenko wrote: > Хорошо, но почему MySQL или MS SQL? Почему не DB2 или PostgreSQL? Потому что Виндовс и Юникс. > Начнём с вопроса как наполнить базу? Запросами. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2008, 23:30 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
locky Потому что Виндовс и Юникс. Исключительно по Виндовс работает MS SQL, почему же тогда MySQL, а не PostgreSQL или DB2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2008, 00:21 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
akrischenkoБудущий проект - социальная сеть. Что-то типа блогсервиса. Тоесть подразумевается сотни тысяч пользователей, десятки тысяч одновременных запросов на чтение и запись из БД. Ну так сперва спроектируйте вашу БД, хотябы примерно, таблички, тригеры, предстваления... подсчитайте сколько на диске она может занять, сделайте программку, которая заполнит вашу базу, лучше гигов до 3.... ставьте перечисленные СУБД, создавайте базу, ну и эмулируйте одновременные запросы, на чтение, запись можно таже тупо сделать прогу, которая по таймеру делает нужные вам INSERT UPDATE DELETE, и на 5 компах в сети, по 20...40 этих программ запустить :) Обязательно постарайтесь оптимизировать, без этого адекватной оценки не получите... то есть: 1. тестировать нужно на структуре ВАШЕЙ будущей СУБД а не на гипотетических таблицах и именно ВАШИМИ запросами. 2. СУБД тестируйте в режиме выделеного сервера, и нужно обязательно подстраивать СУБД под железо 3. не забывайте под всякие индексы 4. почитайте про возможности масштабирования в выбранных вами СУБД, может из списка что-то сразу выпадет Вообще тут правильно заметили, тестировать базу для проекта такого масштаба - это чё-то не то... уверен производительность большенства СУБД упрётся в скорость работы вашего винта, а проц будет максимум процентов на 60...80 загружен... в реальных условиях будет по другому Сложная лабораторная получится, на которую мноооооого времени уйдёт... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2008, 08:56 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
akrischenko пишет: Это: > Я конечно понимаю что БД будет > вести себя нелинейно при росте нагрузки, и что лучше всего тестировать, > так сказать, в маштабе 1:1. И это : > Можно ли, скажем, смоделировать описанную ситуацию в маштабе 1:100, > 1:1000, с какой-нибуть вероятностью что и на продуктиве разница в работе как-то не вяжется. О каком масштабе может быть речь, если оно нелинейно ? > Давайте отнесёмся к задаче проще, как к лабораторной работе, просто из > интереса. Лучше не занимайтесь ерундой, а ткните наугад в одну из СУБД, которая вам по требованиям подходит, и разрабатывайте. Задача performance testing СУБД вообще неблагодарная, а задача тестирования еще ненаписанного приложения -- вообще полная ерунда. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2008, 13:18 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
Кифирчик пишет: > Ну так сперва спроектируйте вашу БД, хотябы примерно, таблички, тригеры, > предстваления... Что значит - "примерно" ? Не примерно, а именно точно такая же база нужна. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2008, 13:20 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
akrischenko wrote: > почему же тогда MySQL, а не > PostgreSQL или DB2? А почему бы и нет? Для "лабораторки" то? Тем паче - многие юзают, масса приложений написана на/под и т.д., входит в комплект поставки чего-то там включая *никс. прОдукт развивается, есть вроде как даже коммерческая версия. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2008, 12:44 |
|
||
|
Помогите провести тест БД
|
|||
|---|---|---|---|
|
#18+
В данный момент вопрос с выбором СУБД отпал, поэтому перенесём тестирование на другой раз. Да и смотрю что обьективных результатов таким тестированием добится шанс очень небольшой. Так все говорят, не только тут на форуме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2008, 23:33 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=35207152&tid=1553143]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 354ms |

| 0 / 0 |
