- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Планирую разработку нового крупного проекта, под который будет установлен отдельный сервер. Хочу спросить совета опытных в этом деле людей, в вопросах настройки этого сервера.
Разрабатываемая система представляет собой нечто вроде сетевого органайзера.
Пользователь регистрируется, получает возможность записывать в базу различные данные, планировать свою работу (создавать себе задания, напоминания и т.д.). Разумеется вся информация сохраняется в базе, и потом доступна через поиск и различные сортировки. То есть идет постоянная работа с базой.
Планируется, что одновременно пользоваться системой будет достаточно большое количество чеовек, поэтому надо подобрать конфигурацию сервера, его ПО и настройки так, чтобы добиться максимальной стабильности при больших нагрузках.
Возникают вопросы:
1. Какой сервер лучше использовать? подскажите конфигурацию. Стоит ли поставить побольше оперативки, или же процессор помощнее нужен? Какие жесткие диски лучше поставить (нужно).
2. Какую операционную систему поставить и остальное ПО? Ставить ли Апач или лучше что-то другое?
3. Какую БД использовать и какой язык программирования? Тот прототип, который у нас сейчас, работает на PHP+MySQL? Может лучше использовать другую БД? (сам язык программирования все таки желательно оставить PHP).
4. Какую нагрузку по вашим оценкам сможет выдержать сервер (при предлагаемой вами конфигурации и настройке и описанных мной задачах)!
P.S.: понимаю, что о многих из заданых мной вопросах можно долго спорить, ну все таки хотелось бы услышать различные точки зрения. разумеется, когда надо будет устанавливать и настраивать сервер, будет нанят специалист, который будет этим заниматься - но сейчас мне нужно предварительно оценить ситуацию. к тому же, вакансия открыта, могу взять и кого то из тех кто ответит на мой вопрос!
Ну и вопросы :) Один сервер под оракл, еще три-четыре под внешний кластер 😂
Ну это если только в будущем... Пока денег на 4 сервера и их поддержку нет! Хотя если один хорошо настроенный сервер будет падать из-за сверх посещаемости, думаю деньги найдутся:)
NukerF, практически всё будет зависеть от качества кода вашего ПО.
Вот, например, этот форум выдерживает фантастические нагрузки (какой-нибудь самописный движок, сделанный за пару недель, давно бы нагнулся от такой посещаемости, а главное от количества людей онлайн, которые постоянно используют базу форума).
Лучше не жалеть памяти (2-4Гб), 2 проца будет большим плюсом.
На 64-битной системе будет намного быстрее летать mysql.
Не пожалейте денег на рейд с зеркалированием... :)
При больших нагрузках на mysql, лучше использовать Linux нежели FreeBSD (об этом пишут сами разработчики mysql, точной ссылки сейчас не вспомню).
Shema, спасибо за ответ!
Что касается нашего ПО, то хоть прототип уже есть, но мы будем практически все разрабатывать с нуля, с целью оптимизации кода. Есть уже кое-какие идеи (например хранение архивной части информации пользователя в отдельой базе, к которой будут обращаться достаточно редко.)
В том прототипе, который есть сейчас (он работает с MySQL), под каждого нового зарегистрированного пользователя создается отдельная DB, в которой хранится вся его инфа. Думаю размер такой DB не будет превышать 5 МБ. А самих таких DB будет тысячи!
Я не знаю насколько такая структура оптимальна... Не будет ли она излишне нагружать систему? Может быть возможен более эффективный подход?
В том прототипе, который есть сейчас (он работает с MySQL), под каждого нового зарегистрированного пользователя создается отдельная DB, в которой хранится вся его инфа. Думаю размер такой DB не будет превышать 5 МБ. А самих таких DB будет тысячи!
Я не знаю насколько такая структура оптимальна... Не будет ли она излишне нагружать систему? Может быть возможен более эффективный подход?
Имхо, единственный плюс такого подхода, что система легко масштабируется при докупании нового железа.
Но мне кажется, что задачи поиска по таким базам будут ооочень своеобразно работать. Если мне нужно найти пользователя с какими-то параметрами, то придётся пересмотреть все базы что ли? Ваш прототип-то работает вообще?
Обращайтесь ко мне - настрю сервер как надо :)
На 64-битной системе будет намного быстрее летать mysql.
А насколько быстрее? На проценты или в разы?
NukerF, практически всё будет зависеть от качества кода вашего ПО.
+1
Вот, например, этот форум выдерживает фантастические нагрузки (какой-нибудь самописный движок, сделанный за пару недель, давно бы нагнулся от такой посещаемости, а главное от количества людей онлайн, которые постоянно используют базу форума).
Лучше не жалеть памяти (2-4Гб), 2 проца будет большим плюсом.
На 64-битной системе будет намного быстрее летать mysql.
Не пожалейте денег на рейд с зеркалированием... :)
При больших нагрузках на mysql, лучше использовать Linux нежели FreeBSD (об этом пишут сами разработчики mysql, точной ссылки сейчас не вспомню).
Но там есть какие-то рекомендации по изменению библиотеки потоков для freebsd (с libpthread на libthr), даже патч какой-то к mysql, и вроде бы тоже ничего.
Anton, по 64битам и 2-м процессорам - см. выше, насколько лучше зависит от ПО. Например, если будет блокироваться таблица надолго, то никакие процы не помогут- все будут ждать. При разработке помните, что у вас 2 проца и 64 бита (можно переменные другие использовать в ПО, индексы bigint в mysql работают быстрее).
Но мне кажется, что задачи поиска по таким базам будут ооочень своеобразно работать. Если мне нужно найти пользователя с какими-то параметрами, то придётся пересмотреть все базы что ли? Ваш прототип-то работает вообще?
Поиск по всем базам одновременно вестись не будет.
Существует одна главная база, в которой хранится информация обо всех пользователях. Если мне надо найти пользователя, то я поиск веду по ней!
Кроме того для каждого пользователя существует своя база, в которой хранится та инфа, которую он заносит в систему (задания, напоминания, которые он создает, и т.д.).
Подводя итог всему выше сказанному:
Сервер:
Два 64-битных процессора
2-4 гига оперативки
RAID c зеркалированием, 2-4 диска. (что такое RAID5, честно скажу, не знаю)
ПО:
Linux или FreeBSD + патч
PHP
MySQL
При написании самого кода, оптимизировать его под работу на 2-х 64-битных процессорах!
Еще кто-нибудь может, что-то добавить?
Проблемы с мускулем и freebsd были у пятой ветки. В последних релизах вроде и без патча обойтись можно.
Думаю для старта нужно взять один, но дерзкий сервер где-нибудь в европе. В 550-600 уложитесь спокойно.
Вместо апача советую Zeus Web Server, последнюю версию PHP + xCache. В кач-ве бд однозначно оракл. Ну и nginx под конец. Правда в связке с зевсом не пробовал, но думаю проблем не возникнет. Эх, хорошая платформа в теории складывается *_*