fc1f5c5746c3d6053740a96cfb93724e
Здравейте, 
Моля за малко помощ. Интересуват ме опции за Сървърна машина с която ще се управлява база данни firebird. Големината на базите няма да надвишава 15-50 гб. Свързаните към базата потребители ще са около 30. 
До сега имам известен опит с управлението на подобни бази на различни конфигурации, но примерно 
dell poweredge r720 се представя до 2 пъти по-бавно от един обикновен i7 4790 с 8гб рам и две ССД в райд. Не разбирам достатъчно, за това и се обръщам към Вас. 
  
Въпросът ми към вас е: 
Кое е от най-голямо значение при работата с бази данни(ако някой има опит с firebird, още по-добре) 
И какви конфигурации може да ми предложите, които ще вършат работа. Има ли смисъл от мулти-процесорни машини за хиляди левове. 
  
Сървърът (трите сървъра, защото ще са клъстър) ще е корпоративен, така че може да се спекулира с цената до около 5000 лева за брой (без ОС). 
  
Много благодаря на отзовалите се! 

Сървър за firebird база данни
kaldata.com
2021.31
Здравейте, 
Моля за малко помощ. Интересуват ме опции за Сървърна машина с която ще се управлява база данни firebird. Големината на базите няма да надвишава 15-50 гб. Свързаните към базата потребители ще са около 30. 
До сега имам известен опит с управлението на подобни бази на различни конфигурации, но примерно 
dell poweredge r720 се представя до 2 пъти по-бавно от един обикновен i7 4790 с 8гб рам и две ССД в райд. Не разбирам достатъчно, за това и се обръщам към Вас. 
  
Въпросът ми към вас е: 
Кое е от най-голямо значение при работата с бази данни(ако някой има опит с firebird, още по-добре) 
И какви конфигурации може да ми предложите, които ще вършат работа. Има ли смисъл от мулти-процесорни машини за хиляди левове. 
  
Сървърът (трите сървъра, защото ще са клъстър) ще е корпоративен, така че може да се спекулира с цената до около 5000 лева за брой (без ОС). 
  
Много благодаря на отзовалите се! 

Доколкото знам xeon e5 са процесорите,които са най-добри за сървъри в момента... 

Здравей, 
  
Написал си "...големината на базите". t.e., db сървърът ще обслужва повече от една база в момент от време ? Машината само с базата ли ще се занимава или ще има и други функции ? 
  
Отделно, 
Какви операции се извършват ? Четене, писане, четене и писане (кои преобладават, ако може да се определи) ? 
До колко тежки могат да бъдат заявките към базата и ще преобладават ли ? Най-хубаво, ако дадеш пример. 
Тези 30 свързани потребителя какво точно ще правят ? И за 30 константни връзки ли става въпрос или за пик ? 
Въобще, нужна е ясна картинка каква е цялата схема, грубо архитектурата на приложението (или името му, ако е популярно), защото "конфигурация за dbserver" е прекалено общо понятие. 
  
Еднозначен отговор на въпроса "Кое е от най-голямо значение при работата с бази данни" също не може да се даде, но супер повърхностно: 
  
cpu - зависи от какво естество са заявките, които ще се изпълняват, както и желаното време за реакция. Възможно е един бюджетен xeon e3 да е напълно достатъчен, може и да умре, ако го захапят тия 30 клиента с едни доволни заявки. Отделно, има огромно значение и ако се пускат неоптимизирани (или некадърно написани) заявки, но приемаме, че всичко по обслужващия софтуер е ок. 
ram - трябва да е достатъчно. Имаше някакво правило, че обемът ОП трябва да е поне толкова, колкото е най-голямата база. Не винаги това е възможно (а и нужно), но за обемите, които спомена, едни 32gb са минимум. 
storage - най-често тук е ботълнекът. Ти и сам си се убедил, като си качил базата на ССД дискове (спрямо предполагам механични на poweredge-a ). 

Така е прав си! 
Но и аз не съм много запознат каква информация е нужна за да се определи конфигурацията. 
  
1. Операциите които се извършват са и четене и писане като преобладаващото е четене. 
2. Заявките към базата са доста тежки (мое разбиране) sql заявка ровеща в 10млн реда в базата не знам дали ти е от полза като информация. Такива ще са преобладаващите заявки. 
3. 30-те връзки са константа - всичките са перманентно закачени, работещи с базата 
4. Вероятността да се управляват повече от една база едновременно е малка - тоест една база от порядъка на 30гб 
5. Машината ще се занимава само и единствено с базата данни 
6. Приложението е писано на Делфи хе6,за firebird 2.5, приложението е 32 бита и не може да адресира повече от 2гб памет на конекция до колкото знам. 
не мога да кажа името му, но да приемем че голяма част от заявките са , както ти се изрази 'некадърно написани'. Става въпрос за складов софтуер (ерп - според някои ) 

Ами трябва да тестваш на текущата конфигурация и да видиш от къде идва ботълнекът. Предполагам, че когато клиентите "ровят" в базата процесорът стои на 20-30% товар макс. Всъщност, за колко време грубо се изпълнява една такава заявка, която описа ? 
  
Сценария, който описваш нито изисква клъстър, нито някаква n-процесорна конфигурация. Вече, ако ниският перформънс идва от склада (както и си мисля), не знам до колко ще е оправдано да се наливат 15000 лева в хардуер и да се впуснете в едни филми от друго измерение. 
  
Нещо ей такова: 
  
intel® xeon® processor e5-1650 v3 (15m cache, 3.50 ghz) 
16gb ecc ram 
lsi megaraid 9260 
2х ssd samsung pro 940 (минимум от desktop класа) в raid1 
  
Би било предостатъчно. 
  
Въпреки това, тази конфигурация няма да повиши драматично перформанса спрямо тази с i7-цата, която използваш. Ако искаш по-осезаема разлика, трябва да минеш на двупроцесорна система, ъпгрейд на райд контролера, raid10, и т.н., и т.н... отиваме в съвсем друг бюджет. 
  
Но да синтезирам... личното ми мнение е, че е безпредметно да се ъпгрейдва хардуер заради неоптимизиран софтуер. Не за друго, ами защото по този начин проблемът няма да се реши, а ще се отложи за по-напред във времето. Тогава какво ще правим ? Блейд ? 

Така е процесора не се товари изобщо... 
Една такава заявка може да я чакаш до 10 мин. ако изобщо излезе, защото има шанс да излезе out of memory. 
Клъстер ще бъде защото най-тежките заявки ще се правят на 3 места (от съображение за скорост на връзката) и трите са с АДСЛ интернет и ще е ужасно да се източи цялата заявка по интернет. 
  
Много ти благодаря за отговора! 
Личното ти мнение се припокрива с моето. 
Върти ми се в главата нещо на новата платформа 2011v3 с ССД-то ама през pci слотовете 

Ако out of memory е при сървъра, то в твоя случай това значи единствено супер неоптимална заявка (или въобще грешна архитектура/концепция на приложението)- буферират се голям брой записи. 
  
Ако държиш да повишиш перформанса урбулешката, ето малко насоки, от които ще видиш ефект в твоя случай: 
Минимум 32gb ram 
Задължително 64 битова версия на firebird 
firebird в режим classic или superclassic 
Направи си един ramdrive и си поиграй с него 
raid10/raid100 от samsung 940/950pro или enterprise level 
Няма смисъл от ssd(та) на pci-e. Така само ще увеличиш bandwidth-a, а основният проблем не ти е това. 
четене, тестване, четене, тестване и т.н. 
  
Ето и що годе адекватно четиво: resolving firebird performance problems 
