Комп для разработчика

al70

Вопрос к уважаемым разработчикам: какой должна быть машина для максимально комфортной разработки веб-приложений? Типа, какой должен быть монитор (матрица, диагональ, количество)? Сколько памяти? Ну и т. д.
Понятное дело, что чем больше и быстрее — тем лучше. Поэтому, хочется узнать скорее нижнюю границу требований.
Прошу высказаться.

6yrop

надо бы платформу уточнить

al70

Наиболее интересны J2EE и .NET.

lubanj

оперативки - по максимуму

Helga87

Монитор: 24", 1920x1200. Меньше — менее удобно, больше — не имеет смысла. Т.к. уже начинается эффект, что чем больше монитор, тем сильнее его отодвигают.
Комп: конфигурации в Intel Core 2 Duo 2.8 ГГц, 4 Гб DDR2 мне не хватает, планирую заказывать следующую: Intel Core i7 920, 3*2 Гб DDR3. 
Если у вас что-то большое компилируется (как у меня, например, билд занимает от 10 до 15 минут на моей машине то еще лучше заказать SSD: ускорит в полтора-два раза.

kokoc88

В первую очередь там нужен рейд массив из 4-х дисков. Обычно разработка и средства разработки связаны с огромным количеством ввода-вывода. Затем память. Потом монитор, минимум 19, чтобы всё помещалось. Лучше не широкоформатный, чтобы видеть результат таким, как его увидит большинство пользователей. Затем уже процессор, будет достаточно core 2 duo от 1.5ггц

Helga87

У меня сейчас узким местом, кстати, является процессор. 
Ну, и RAID — это решение дороже и хуже, чем SSD.

kokoc88

У меня сейчас узким местом, кстати, является процессор.
Разве ты не решаешь какие-то специфические задачи? Для разработки под вэб для низкой и средней нагрузки, скорее всего, узким местом будет как раз жёсткий диск. Тем более речь идёт о компиляции на Java/C# и работе с БД, а процессор съедает компиляция на C++ и решение математических задачек.
Ну, и RAID — это решение дороже и хуже, чем SSD.
Я не разбираюсь в железе, так что не придирайся к словам. :)

pilot

Монитор: 24", 1920x1200. Меньше — менее удобно, больше — не имеет смысла. Т.к. уже начинается эффект, что чем больше монитор, тем сильнее его отодвигают.
Комп: конфигурации в Intel Core 2 Duo 2.8 ГГц, 4 Гб DDR2 мне не хватает, планирую заказывать следующую: Intel Core i7 920, 3*2 Гб DDR3.
Если у вас что-то большое компилируется (как у меня, например, билд занимает от 10 до 15 минут на моей машине то еще лучше заказать SSD: ускорит в полтора-два раза.
Чем плох "простой комп" для редактор-почта-аська, а компилировать на общей мощной машине? До такого еще не додумались?

tata2410

Чем плох "простой комп" для редактор-почта-аська, а компилировать на общей мощной машине? До такого еще не додумались?
Тройка-четверка параллельных билдов железо, отличное от энтерпрайзового, утянут нафиг, в конечном счете дешевле выходит ставить мощные воркстейшены разработчикам. В нищебродском варианте вполне можно так сделать, или когда народу мало, но, как правило, все затыкается в тяжелое ide в конце концов и печатными машинками нельзя обойтись. Странно, что не упомянули многомониторные конфиги с поворотными мониторами - дешевле жырного вайда и больше по суммарному разрешению.

pilot

Тройка-четверка параллельных билдов железо, отличное от энтерпрайзового, утянут нафиг
Многозадачность теперь так называется?

tata2410

При чем здесь многозадачность? Серв, в пару раз более мощный, чем топовый десктоп, будет стоить в десять раз дороже десктопа (условно). Допустим, что мы купили кучу говнотачек и крутой восьмиядерник, то, если нам не повезло с языком разработки, девелоперы кучу времени ковыряют в носу, ожидая, когда пройдет билд на серве. Если количество девелоперов меньше, чем рабочий день/(количество сборок за день * время сборки на серве то все будет ништяк, а вот если эта цифра больше, чем упомянутый параметр, раза в три, то наступит жопа, потому что балансировать нагрузку между сервами не всегда возможно, а стоимость более производительного железа растет много быстрее, чем скорость сборки.

spensnp

билд занимает от 10 до 15 минут на моей машине
и ты каждые полчаса ребилдишь весь проект?
зы
я конечно не профессионал, но по-моему вы совсем ох**ли с такими конфигами

Dasar

если говорим про минимальные рабочие требования, то:
два монитора по 17-19
памяти 4ГБ
винт по-быстрее (допустим raptor)
проц с парой ядер

Helga87

15 минут — это "полный" билд. Делается один, максимум два раза в день. Ребилд, конечно, длится меньше (1-2 минуты но сбивает с мысли и производительность падает.
я конечно не профессионал, но по-моему вы совсем ох**ли с такими конфигами
В день я теряю до часа времени просто на то, чтобы подождать завершения компиляции (да, такие проекты не очень частый случай, но сейчас у меня такой). Это значит, что замена компа окупится за месяц или около того. А на самом деле — раньше, поскольку гораздо более важно выпустить продукт более завершенным/раньше, чем сэкономить на зарплате.

spensnp

Это значит, что замена компа окупится за месяц или около того.
Ты один работаешь проектом? Если да, то - да.
А если у вас десяток девелоперов?
Не разумнее ли сделать выделенный сервер, на котором будет храниться и собираеться проект (скажем восьмиядерник на двух ксеонах тысяч за 50-60 а рабочие места оснастить машинами офисного плана тыщ за 8-9.
Суммарная стоимость 60+10*9==150.
Конфиг который ты предлагаешь стоит наверное 20-25 тыщ, что на десять девелоперов == 200-250 тыщ.
итого 50-100 тыщ разницы
цифры кагбе говорят нам ; )

Helga87

Ты один работаешь проектом? Если да, то - да.
А если у вас десяток девелоперов?
у нас несколько десятков программистов (если смотреть на один офис). Проектов там несколько, но сути это не меняет.
Не разумнее ли сделать выделенный сервер, на котором будет храниться и собираеться проект (скажем восьмиядерник на двух ксеонах тысяч за 50-60 а рабочие места оснастить машинами офисного плана тыщ за 8-9.
Нет, по двум причинам:
1. Узким местом является сеть (размеры итоговых бинарников около 5 Гб)
2. На этом твоем восьмиядернике тупо будет тормозить диск.
Из систем, которые действительно работают бывают следующие:
1. У разработчиков нормальные десктопы, а компиляция идет сразу на нескольких машинах (это у нас на некоторых проектах применяется, на моем это сделать тяжело, 1Гбит сети не хватает)
2. Есть 1000 разработчиков с 1000 десктопов (средних) и 1000 машин в кластере (крутых). Сеть в кластере 10 Гбит и имеет сильную связанность. Этот вариант бы подошел для моего проекта, да вот незадача — наш офис не основной и у нас нет такого кластера. А пользоваться тем, что расположен в Европе — опять сеть не позволяет.
то, что описал ты почти всегда выливается в скучающих от постоянного ожидания билда программистов.

katrin2201

минимум - два гига и 1х 1280х1024
дальше - сугубо по специфике и усмотрениям
много альттабаться приходится или дебажить - второй монь
не влазит все в память - докупать оперативу
рейд - не знаю, только если ребилд надо регулярно делать, в остальном ио у меня не так уж и много.
для меня самое комфортное - 2-4 гига и два моня, один из которых широкий, второй 1280

Helga87

Единственное, что является какой-то альтернативой — это просто коннектиться к компу в европе, билдить там на кластере и тогда действительно та машина, за которой ты сидишь, становится чисто терминалом. Проблема в том, что для windows-проекта такое у нас невозможно, поскольку никто не будет покупать столько лицензий винды. А вот на предыдущем проекте, который был под linux, мне действительно не нужен был крутой десктоп

Dasar

поскольку никто не будет покупать столько лицензий винды
т.е. железо купят, а лицензию нет?

pilot

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

Helga87

т.е. железо купят, а лицензию нет?
железо стоит дешевле винды. Особенно при покупке в таких количествах.

Helga87

а хорошую машинку поставить, на нее запустить штук 5 разработчиков с терминалами
это очень плохой вариант, я такой уже проходил. Очень медленно, целых два узкий места: диск и сеть.
Ну т.е. есть, конечно, проекты на которых это потянет, но то, что это не мой случай — определенно.

uncle17

диск - еще понятно, если билды будут делаться одновременно. А вот про сеть я совсем не понимаю. Имеется в виду, что сам код, библиотеки и пр. лежат на локальной машине? А если их тоже хранить на сервере?

pilot

Очень медленно, целых два узкий места: диск и сеть.
Что медленно? По сети исходники пересылать медленно? С диском тоже не вижу проблемы.

Dasar

железо стоит дешевле винды. Особенно при покупке в таких количествах.
мы до сих пор про терминальную лицензию?

spensnp

1. Узким местом является сеть (размеры итоговых бинарников около 5 Гб)
Это наверное весь проект целиком? А зачем его тягать по сети если ты, скажем, работаешь над конкретным модулем? Пересобрал ты DLL, вот тебе и счастье.
2. На этом твоем восьмиядернике тупо будет тормозить диск.
в raid 5 не будет

uncle17

в raid 5 не будет
а сколько ты в этот массив дисков поставить хочешь?
Если десяток, то да, не будет. Но по дискам я согласен - узкое место
З.Ы. Кстати, просветите, ибо не в курсе... А если приложение требует, чтобы процессор поддерживал какие-то фичи, можно ли его скомпилировать на машине с процессором, который их не поддерживает?
Уходя на 11 лет назад: можно ли собрать приложение, требующее MMX, на машине с P-133?

vall

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

spensnp

. А если приложение требует, чтобы процессор поддерживал какие-то фичи, можно ли его скомпилировать на машине с процессором, который их не поддерживает?
Уходя на 11 лет назад: можно ли собрать приложение, требующее MMX, на машине с P-133?
о да. например у меня в генту пакеты для x86 архитектуры билдятся в том числе на x86_64 машинах

uncle17

а я не буду удивлен. Я был бы как раз удивлен, если б это было невозможно. Собсно, почему и спрашивал - сборку можно доверить общему серваку в любом случае. Единственно - если есть несколько реально больших проектов, которые собираются долго даже на восьмиядернике с рейдом в 10 дисков - тогда придется ребятам договариваться, что и когда компилить, ибо при конце рабочего дня в 18:00 компиляцию всем сразу в 17:30 делать будет не комильфо

vall

а моё ИМХО что наверно организация проекта какая-то кривая, раз его нужно так часто целиком пересобирать и это блокирует работу девелопера.

ava3443

Чем плох "простой комп" для редактор-почта-аська, а компилировать на общей мощной машине? До такого еще не додумались?
Активно используем VMWare ESX на нескольких серверах, каждый сервер - 8 ядер Xeon, RAID-5 из 6 дисков и 16 Гб памяти.

Helga87

Еще стоит указывать, что делают разработчики на этих серверах. :)

ava3443

Виртуальные машины на ESX используются для следующих целей
1) "стенд" для того или иного проекта (копия системы или части системы, установленной у заказчика, или планируемой к установке, или ещё на какой фазе
2) машина для компиляции той или иной критичной части проекта, когда на настройку окружения для компиляции требуется ненулевое время.
Число проектов - порядка 20-30, разработчиков и тестировщиков - человек 15. Стендов (копий системы) нужно не меньше чем проектов, а в наиболее активной фазе у нас доходило до 8-10 стендов на один проект, чтобы уменьшить до 0 пересечения разработчиков друг с другом.
Кроме того, регулярно приходится ездить и делать демонстрации систем у заказчиков, для этого копия виртуальной машины заливается на демонстрационный ноутбук (или несколько что драматически сокращает время подготовки демо. И наоборот, чтобы сохранить только что показанное демо, при помощи P2V снимаем копию с ноута и оставляем её в виде виртуальной машины на ESX-сервере.
Абсолютно все разработчики работают на ноутах разных брендов (кому что по душе ценой обычно от 40 до 60-80 тыс.
Лично я в последнее время всё чаще использую ноут в режиме терминала к той или иной виртуальной машине на ESX-сервере, т.к. интернет, достаточный для VPN-доступа к офису у меня есть практически всегда и везде.

ava3443

К сожалению, такая удобная и дешёвая виртуализация пока доступна только для x86 и x86_64. А приходится работать ещё с целым зоопарком архитектур (Windows и HPUX на Itanium2, HPUX на PARISC, AIX, Solaris на SPARC... из-за чего приходится держать в серверных немалое количество соответствующего железа :(

pilot

Еще стоит указывать, что делают разработчики на этих серверах.
Практически все делаю на удаленной машине. Редактирую прям там, там и запускаю.
Локально — почта, аська, доки, браузер и тп.
Никаких ESX, VMWare и тп.

kruzer25

планирую заказывать следующую: Intel Core i7 920, 3*2 Гб DDR3.
Если у вас что-то большое компилируется (как у меня, например, билд занимает от 10 до 15 минут на моей машине
Да вы, батенька, извращенец. i7 - просто деньги на ветер.
Во-первых, речь идёт о веб-приложениях, а это зачастую что-то вроде PHP, что собирать не надо.
Во-вторых, если надо что-то компилировать, а компиляция на рабочей станции занимает неприлично много времени - значит, компиляцию надо вынести на сервер. Покупать очень мощный системник за кучу денег, если он будет нагружаться только полчаса в день, а всё остальное время загрузка и до 5% доходить не будет - деньги на ветер.

kruzer25

Серв, в пару раз более мощный, чем топовый десктоп, будет стоить в десять раз дороже десктопа (условно).
А топовый десктоп, в пару раз более мощный, чем простой десктоп - будет стоить тоже в десять раз дороже.
Если количество девелоперов меньше, чем рабочий день/(количество сборок за день * время сборки на серве то все будет ништяк, а вот если эта цифра больше, чем упомянутый параметр, раза в три
то покупаем три сервера.

kruzer25

2. На этом твоем восьмиядернике тупо будет тормозить диск.
Ставим рейд, SSD, рейд из SSD. Всё дешевле, чем ставить эти SSD на каждую рабочую станцию - хотя бы из того соображения, что на рабочей станции 90% времени всё это мощное железо будет простаивать.

kruzer25

Проблема в том, что для windows-проекта такое у нас невозможно, поскольку никто не будет покупать столько лицензий винды.
Сколько там стоит твоя рабочая станция на i7?

kruzer25

Вопрос к уважаемым разработчикам: какой должна быть машина для максимально комфортной разработки веб-приложений? Типа, какой должен быть монитор (матрица, диагональ, количество)? Сколько памяти? Ну и т. д.
Что именно разрабатывать-то будете?
Нам для относительно большого проекта (11МБ пхпшного кода плюс куча xml/xsd/xslt/html/etc, всё это в Eclipse в принципе, хватало и Pentium-IV (одноядерный) ~3ггц, 2ГБ, древний хард. Но на рабочих станциях ничего не компилируется/не запускается, даже исходников на них нет, всё лежит на сервере, там же и запускается. То есть, сама рабочая станция нагружается только IDE.
Новые системники берём примерно такие (конфиг с поправкой на наличие в фцентре и прогресс; например, матери G35, на которых собирали наши нынешние системники, стоили около 2к; а 2гб планки - около 500р за штуку, это сейчас какой-то пц с ценами): http://www.fcenter.ru/sb_config?strConfig=2%7C72130:1%7C6971...
Монитор - летом брали Lenovo L220x по 15к, но сейчас их хрен найдёшь, поэтому - любой на *VA 24" 1920*1200, это 20+к.

yroslavasako

Виртуальные машины на ESX используются для следующих целей
а почему для тех же целей нельзя использовать xen?

vall

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

ava3443

а почему для тех же целей нельзя использовать xen?
хороший вопрос :)
к сожалению, я в последние годы несколько отошёл от Linux, и упустил тот факт, что немодифицированный Windows работает под Xen начиная с версии 3.0...

yroslavasako

а у ESX после долгой работы иногда отваливается сеть. Баг описан, но пока не решён. Так что пока вынуждены использовать перезагрузку гипервизора. А вот xen я в глаза не видел, и интересно сравнение. Тем более что больше сравнивать не с чем.

Codcod

1. Узким местом является сеть (размеры итоговых бинарников около 5 Гб)
За такое убивать надо... Вы там на бейсике пишете что ли?

yroslavasako

а что такого? у меня опенофис жрёт не меньше, когда из портежа собирается.

Serab

размеры итоговых бинарников около 5 Гб
у меня опенофис жрёт не меньше, когда из портежа собирается.
уверен?
upd: а хотя, может я и затупил, думаешь, имеются в виду все промежуточные бинарники. Тогда мб, но я все равно когда прочитал представил прогу размером в 5 гигов и прикололся.

kokoc88

upd: а хотя, может я и затупил, думаешь, имеются в виду все промежуточные бинарники. Тогда мб, но я все равно когда прочитал представил прогу размером в 5 гигов и прикололся.
И что такого? Либы собранного буста занимают 2 гига. Если речь идёт о разработке на C++, то 5 гигов - вполне реальная цифра.

katrin2201

Все-таки либы это либы, а бинарники это бинарники.
Если автором имелись в виду эти самые либы/объектники, то тогда непонятно зачем их куда-то по сети тащить потом.
Если уже сами екзекутаблы, то 5 гигов экзешников - такого я еще нигде не видел.
Хотя, конечно, извращения бывают всякие...

agaaaa

Хм. А фоновой компиляцией вы не пользуетесь?
Оставить комментарий
Имя или ник:
Комментарий: