Server design

Коллега показал прекрасную иллюстрацию к современному положению вещей с многоядерными и многонитевыми (thread) процессорами. Попытка сделать прорыв (надавить) по одному из направлений немедленно приводит к тому, что остальные поршни в картинке начинают "отъезжать". Чтобы как то отвлечь вас от этого несложного факта оперируют термином  performance.

На самом деле когда вы слышите это слово, вы должны всегда уточнить, что имеется в виду

- single thread performance, те ваша однопоточная задача очень быстро посчитает свой pl/sql цикл  (на картинке thread speed)
- total throwout, те много сразу ваших задачек смогу считать свои циклы, но не так быстро как в предыдущем случае (thread count)
- эффективность использования кэша потоком (effective cache/thread)

И исходя из вашего приложения решить,  что является приоритетным.  Но мы же знаем, что все хорошие идеи рубятся на стадии бюджета. Так что нужно считать цену решения. И тут, слава богу все просто - Oracle стоит больше, чем любое железо для него -)

SPARC T4-4 - $194K, SUN Storage 2540 - $262K (данные из TPC-H), Oracle Database  + partitioning на 16 процессоров = (47,500 +11,500)x16 = $944K (Oracle price list)

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

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

Картинка из документа Fit for Purpose: Workload Based Platform Selection (С) IBM


Update 1. Подтверждение, что картинка качественно правильно описывает современное положение дел можно найти в документе Oracle's SPARC T4-1, SPARC T4-2, SPARC T4-4, and SPARC T4-1B Server Architecture. Как вы помните, в T4 по сравнению с T3 существенно (1.65 -> 2.8/3) увеличили частоту и уменьшили кол-во ядре (с 16 до 8 на процессор), что привело, цитаты:

- (T4) Maintain the computational capabilities to meet the growing demand from Web applications by providing equivalent throughput of the SPARC T3 processor.
- (T4) Provide networking performance equivalent to the SPARC T3 CPU to serve network-intensive workloads.

PS Легко увидеть что в TPC-H цена на Oracle не $944K, а  $380K. Там просто рассчитали врменные лицензии на 3 года. Так тоже можно делать в TPC-H. Но в жизни чаще считают по другому.

4 комментария:

  1. Анонимный5/2/12 11:39 PM

    А как откачать голубую жидкость? :)

    P.S. Против IBM ничего не имею

    ОтветитьУдалить
  2. Анонимный6/2/12 8:04 PM

    Ага, откачать голубую и залить красную :))

    ОтветитьУдалить
  3. Про цвет - понравилось -)

    ОтветитьУдалить
  4. Анонимный14/3/12 12:27 PM

    Есть комментарий по ценам...
    Для справедливости, надо уточнить, что для такой машинки, применять процессорное лицензирование - излишество.
    Даже при именованных пользователях (NU Plus) получаются достойные 400 пользователей, которых IMHO(!) хватит для нормальной нагрузки такого железа.
    И при этом, Oracle EE+Partition обойдётся в $472000 (это как и в твоём примере, без поддержки и НДС).
    Что вполне соизмеримо с ценой железа (194+262=$456K)

    ОтветитьУдалить