К примеру, чтобы сервер чисто для базы данных был.
Что ему важнее ? Кол-во озу или кол-во ядер ? Для сервера, который отдает статистику, что ему важнее ? И сервер, который обрабатывает запросы ?
Можете рассказать или подскажите, где почитать... Я не обижусь, это местами интересно.
И мне нравится читать)
сервера приложений и фоновые задачи (unicorn/php-fcgi/apache-workers/resque/etc) - процы и ядра
кеш-сервера/поиск (memcache/redis/sphinx) - память
бд (postgresql/mysql)- на первом месте память , на втором диски
балансировщики (nginx)- процы и ядра
раздача контента/статика - диски
как-то так, но это слишком все упрощенно, нужно отталкиваться от задач и архитектуры.
Архитектура чего ? Приложения?
Как легкий интернет магазин, на php и js. Простите, если не так понимаю(
Балансировщики не нужны.. еще рано )
Как я понимаю лучше вязать с 2мя сокетами.. что бы было 12 ядер. И запихнуть туда хотя бы 16 гб озу... (потом допихаем, денег не особо (((
А если купить сервер с 2мя сокетами и поставить только 1н процессор, а чуть позже и 2й ? Эо не страшно ? Тормоза не будет ? И процессоры одинаковые ставить ? С оперативко именно так надо.
Если я поставлю е5-2620 и 2й по мощнее не чего не изменится ? Стабильность будет другая (не лучшая) ?
Да, речь про архитектуру проекта вцелом.
В вашем случае, можно взять 2-сокетную материнку с 1 процом (+1 сокет останется на вырост). Тормозить не будет лишь в случае если вы не запустите одновременно работающих php процессов больше чем доступных ядер))). И модели процессоров должны быть одинаковые.
По объему памяти смотрите на количество каналов у процессора. По кол-ву каналов, ставьте такое же кол-во планок. Это не принципиально, но связка память+проц будут работать эффективнее.
В итоге если e5-2620, то это 6 ядер (12 потоков c HT), 1 поток на nginx, 1 поток на на memcache, 9 потоков на php+postgres, 1 поток на pgbouncer. Маловероятно что все потоки будут работать одновременно, так что должно всем хватить. Со временем если упретесь в производительность по процам, докупите еще проц или уж сразу сервер и сселите на него либо базу, либо приложение+кэш. По памяти, смотрите на объем потребляемой памяти и докупайте при необходимости. Ну и по дискам тоже можно много сказать, берите только SAS нынче они недороги, например это: www.nix.ru/autocatalog/hdd_ibm_hitachi/HDD_SAS_2.0...
Что то много всего получилось =) Вобщем спрашивайте, если что.
>> Что ему важнее ? Кол-во озу или кол-во ядер ?
А что будет делать БД? Структура и т.д., всё от задачи зависит.
>> Для сервера который отдает статистику что ему важнее ?
Какая статистика, объемы, как собирается?
>> И сервер который обрабатывает запросы ?
Какие запросы, кол-во, типы данных и т.д.
В общем нужно копать в направлении системной архитектуры, начать проектировать сервис, там будет понятнее. А на данные вопросы вам вряд ли кто ответит. Уж слишком много неопределенностей.
База, обычная.. в которой хранится 5 таблиц... в 1й около 1000000 записей /12 столбцов.
Статистические файлы, картинки от 1кб-600кб.
css от 4-40кб, js от 10-100кб.
Запросы, обычные на php. Ajax. Да и все
Опять же есть зависимость от хранилища бд, например для InnoDB (mysql) объем буфера должен быть больше суммарного размера таблиц иначе постоянно будет идти загрузка с диска, что очень негативно отразится на быстродействии, MyISAM уже не так критична к памяти.
Для статики пойдет вообще любой сервер, если статистики мало, можете вообще завернуть через связку varnish + nginx, картинки будет держать в памяти, будет очень быстро, проц особо не нужен в данном сервере.
Вот с php сложнее, сколько запросов? Всё зависит от оптимизации, на моей памяти заводили на php, на одном сервере 300-400 запросов в секунду, кэшируя всё подряд в оперативке. Расчитывайте на меньшее.
@AxisPod Ну к примеру, у вас будет 1на база в ней 4 таблице.
1 и 2 не особо большие.. 3я гигантская и 4я со временен пополняется .. (mysql а вот myisam или innodb выбрать я не знаю.. Что лучше... 1я если банные статистические ,а 2я для динамики.. она медленнее, но если что ее можно восстановить )
1я это меню(типы)
2я это пользователи
3я это каталог(или как-то так),1000000 записей
4я это что-то типо анкет.
По сути тот же магазин, но не чего не продается :D
можно сделать так:
1-n(зависит от кол-ва типов)
Тогда разгрузится вес таблицы.. и уже будет пучек из n таблиц в которых по 200 000 записей.
2я это пользователи
3я это что-то типо анкет.
Да с запросами сложнее... Там тоже на кэше будет.
Сколько посещений, столько и запросов. Примерно, это от 20000 пользователь в неделю.
Статистика.. Ну картинок там на неск гб. думаю что может потянуть) Но все же надо как-то кэш устроить... Что бы он держал только самые "популярные"
Если вы пока не знаете, какие ресурсы будут нужны вашим приложениям, возьмите дешевый сервак с парой сокетов под проц, парой рейдовых обычных hdd и 16GB памяти. Зачем кидать деньги туда, куда пока неизвестно? Если что, потом добавите, если потребуется.
Так я и хочу взять дешевый, с 2мя сокетами2011...
запихну туда у5-2620v2. и 1ну планку на 16 гб...
1н диск sas на 300 гб за 4000р.
Во сколько мне это выйдет ? не считая память, жеский, и процессор ?
@vvpoloskin Нужна материнка в которой не 8 слотов для озу.. и 2 сокета.. Это плохо..
Может она и поддерживает 256гб, но 8*16=128... а 32гб скоро появится.... и она на много дороже , чем 2*16... примерно в 2 раза дороже. + я почитал они выходят из строя довольно быстро.. А вот почему хз. Так что я буду покупать планки по 8гб.. так хотя бы не повешусь, если она умрет.. 3-4к не так много, хотя тоже жалко.
Дык, vps подходит на начальной стадии пока нет оценки как вы будете утилизировать ресурсы. когда у вас есть vps вы не ограничены рамками уже купленного hardware, вы только у хостера добавляете себе ресурсы, выделяете новые машины (и не возникает мысли, блин мы купили этот сервер, а надо было чуть другой конфигурации, ыы!!!).
Поработав на vps , оценив нагрзуку/посещаемость уже можно более точно оценить потребности в оборудовании. И если уж хостер не устраивает по цене/ресурсам уже планировать миграцию на собственные сервера в ДЦ.
Да и в случае если проект не взлетит, у вас не будет головняков, куда девать купленный сервер.
@lesovsky Лишних серваков не бывает.. Какой посоветуйте ?
И как узнать статистику ??? Залезть в консоль .. не так уж просто. Хотя я не знаю.. не снимал vps.
>> Лишних серваков не бывает.. Какой посоветуйте ?
Не совсем понял, мы все еще про VPS или про железные сервера? ))
В обоих случаях, когда бюджет ограничен, можно рассматривать недорогие Supermicro. Еще мы в свое время брали недорогие самосборы на платформе Intel у team.ru - очень хорошие воспоминания о качестве железа - как никак Intel. (если речь про VPS то недорогие тарифные планы).
Статистика же собирается через мониторинг, тут полно решений, из моих предпочтений это NewRelic (плюс Zabbix когда серверов больше пяти). Они собирают данные по нагрузке (cpu, memory, diskio, tps, rpm и проч.), ну полученные данные рисуются в виде графиков - отслеживайте рост нагрузки и планируйте развитие инфраструктуры.