Помогите выбрать сервер, ОС, БД под кокретные цели!

12 3
NF
На сайте с 23.04.2004
Offline
51
4235

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

Разрабатываемая система представляет собой нечто вроде сетевого органайзера.

Пользователь регистрируется, получает возможность записывать в базу различные данные, планировать свою работу (создавать себе задания, напоминания и т.д.). Разумеется вся информация сохраняется в базе, и потом доступна через поиск и различные сортировки. То есть идет постоянная работа с базой.

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

Возникают вопросы:

1. Какой сервер лучше использовать? подскажите конфигурацию. Стоит ли поставить побольше оперативки, или же процессор помощнее нужен? Какие жесткие диски лучше поставить (нужно).

2. Какую операционную систему поставить и остальное ПО? Ставить ли Апач или лучше что-то другое?

3. Какую БД использовать и какой язык программирования? Тот прототип, который у нас сейчас, работает на PHP+MySQL? Может лучше использовать другую БД? (сам язык программирования все таки желательно оставить PHP).

4. Какую нагрузку по вашим оценкам сможет выдержать сервер (при предлагаемой вами конфигурации и настройке и описанных мной задачах)!

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

[Удален]
#1

Ну и вопросы :) Один сервер под оракл, еще три-четыре под внешний кластер 😂

NF
На сайте с 23.04.2004
Offline
51
#2
Один сервер под оракл, еще три-четыре под внешний кластер

Ну это если только в будущем... Пока денег на 4 сервера и их поддержку нет! Хотя если один хорошо настроенный сервер будет падать из-за сверх посещаемости, думаю деньги найдутся:)

Shema
На сайте с 01.12.2005
Offline
176
#3

NukerF, практически всё будет зависеть от качества кода вашего ПО.

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

Лучше не жалеть памяти (2-4Гб), 2 проца будет большим плюсом.

На 64-битной системе будет намного быстрее летать mysql.

Не пожалейте денег на рейд с зеркалированием... :)

При больших нагрузках на mysql, лучше использовать Linux нежели FreeBSD (об этом пишут сами разработчики mysql, точной ссылки сейчас не вспомню).

Студия Design Coda (http://www.designcoda.ru/). Личные контакты: +7(903)1367564, skype:andrey.oshemkov, telegram:@oshemkov. WMID: 492025973671 (https://passport.webmoney.ru/asp/certview4.asp?wmid=492025973671), делаем и рекламируем сайты, мобильные приложения, ботов для Telegram.
NF
На сайте с 23.04.2004
Offline
51
#4

Shema, спасибо за ответ!

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

В том прототипе, который есть сейчас (он работает с MySQL), под каждого нового зарегистрированного пользователя создается отдельная DB, в которой хранится вся его инфа. Думаю размер такой DB не будет превышать 5 МБ. А самих таких DB будет тысячи!

Я не знаю насколько такая структура оптимальна... Не будет ли она излишне нагружать систему? Может быть возможен более эффективный подход?

Shema
На сайте с 01.12.2005
Offline
176
#5
NukerF:
В том прототипе, который есть сейчас (он работает с MySQL), под каждого нового зарегистрированного пользователя создается отдельная DB, в которой хранится вся его инфа. Думаю размер такой DB не будет превышать 5 МБ. А самих таких DB будет тысячи!
Я не знаю насколько такая структура оптимальна... Не будет ли она излишне нагружать систему? Может быть возможен более эффективный подход?

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

Но мне кажется, что задачи поиска по таким базам будут ооочень своеобразно работать. Если мне нужно найти пользователя с какими-то параметрами, то придётся пересмотреть все базы что ли? Ваш прототип-то работает вообще?

Andreyka
На сайте с 19.02.2005
Offline
822
#6

Обращайтесь ко мне - настрю сервер как надо :)

Не стоит плодить сущности без необходимости
A
На сайте с 29.12.2005
Offline
118
#7
Shema:
На 64-битной системе будет намного быстрее летать mysql.

А насколько быстрее? На проценты или в разы?

B
На сайте с 06.04.2006
Offline
24
#8
Shema:
NukerF, практически всё будет зависеть от качества кода вашего ПО.

+1

Shema:

Вот, например, этот форум выдерживает фантастические нагрузки (какой-нибудь самописный движок, сделанный за пару недель, давно бы нагнулся от такой посещаемости, а главное от количества людей онлайн, которые постоянно используют базу форума).
Ну, этот форум тоже люди писали :) Можно и самому написать, чтобы держало нагрузку. Не за пару недель, конечно.
Shema:
Лучше не жалеть памяти (2-4Гб), 2 проца будет большим плюсом.
На 64-битной системе будет намного быстрее летать mysql.
Не пожалейте денег на рейд с зеркалированием... :)
Небольшая поправка. На RAID5, он быстрее будет при записи данных. Надёжность чуть поменьше, надо минимум 3 диска, лучше 4.
Shema:
При больших нагрузках на mysql, лучше использовать Linux нежели FreeBSD (об этом пишут сами разработчики mysql, точной ссылки сейчас не вспомню).
Да, были тесты где линукс быстрее.

Но там есть какие-то рекомендации по изменению библиотеки потоков для freebsd (с libpthread на libthr), даже патч какой-то к mysql, и вроде бы тоже ничего.

Anton, по 64битам и 2-м процессорам - см. выше, насколько лучше зависит от ПО. Например, если будет блокироваться таблица надолго, то никакие процы не помогут- все будут ждать. При разработке помните, что у вас 2 проца и 64 бита (можно переменные другие использовать в ПО, индексы bigint в mysql работают быстрее).

Мониторинг сайтов (http://hostpulse.ru/), серверов, проверка содержимого страниц.
NF
На сайте с 23.04.2004
Offline
51
#9
Shema:
Но мне кажется, что задачи поиска по таким базам будут ооочень своеобразно работать. Если мне нужно найти пользователя с какими-то параметрами, то придётся пересмотреть все базы что ли? Ваш прототип-то работает вообще?

Поиск по всем базам одновременно вестись не будет.

Существует одна главная база, в которой хранится информация обо всех пользователях. Если мне надо найти пользователя, то я поиск веду по ней!

Кроме того для каждого пользователя существует своя база, в которой хранится та инфа, которую он заносит в систему (задания, напоминания, которые он создает, и т.д.).

Подводя итог всему выше сказанному:

Сервер:

Два 64-битных процессора

2-4 гига оперативки

RAID c зеркалированием, 2-4 диска. (что такое RAID5, честно скажу, не знаю)

ПО:

Linux или FreeBSD + патч

PHP

MySQL

При написании самого кода, оптимизировать его под работу на 2-х 64-битных процессорах!

Еще кто-нибудь может, что-то добавить?

[R
На сайте с 14.11.2004
Offline
103
#10

Проблемы с мускулем и freebsd были у пятой ветки. В последних релизах вроде и без патча обойтись можно.

Думаю для старта нужно взять один, но дерзкий сервер где-нибудь в европе. В 550-600 уложитесь спокойно.

Вместо апача советую Zeus Web Server, последнюю версию PHP + xCache. В кач-ве бд однозначно оракл. Ну и nginx под конец. Правда в связке с зевсом не пробовал, но думаю проблем не возникнет. Эх, хорошая платформа в теории складывается *_*

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий