성능 측정 및 예측 방법?

molra의 이미지

프로젝트를 하나 시작하려고 하는데요..

저는 소프트웨어 하는 사람인데..
하드웨어쪽에서 프로세서 선택해야 되는데

1. 프로그램이 대략 어느 정도(MIPS?)의 파워를 요구하는지 물어보네요.
하지만 소프트웨어쪽도 같이 시작하는 마당이라서 프로그램도 없는데 판단할 수가 없잖아요?

이런 경우가 많을꺼 같은데.. 선도기업들은 어떻게 하나요?

2. 그리고 만약 기존의 소프트웨어가 있다면 이게 몇 MIPS 정도를 필요로 한다는 것을 알아낼 정형화된 툴이나 프로세스가 있나요?

oprsystem의 이미지

경험으로 밖에 판단할수 없지 않을까 합니다.

황혼보다 어두운 자여
내 몸에 흐르는 피보다 더 붉은 자여
시간의 흐름 속에 파뭍힌 위대한 그대의 이름을 걸고 나 여기서 어둠에 맹세하노라
우리 앞을 가로막고 있는 모든 어리석은 자 들에게
나와 그대의 힘을
위대한 파멸의 힘을 보여줄 것을

LispM의 이미지

하드웨어를 나중에 선택하세요 :)

소프트웨어에 더이상 큰 변화가 없다고 생각들때 하드웨어를 변경시키세요. 특히 메모리와 같이 점진적으로 증가시킬 수 있는 것은 가장 나중에 바꾸세요.

http://lisp.or.kr http://lisp.kldp.org - 한국 리습 사용자 모임

molra의 이미지

회사란게 그렇게 안될거 같은데요.
소프트웨어 다 개발할 때 동안 하드웨어팀이 놀수는 없으니까요.. :?

LispM의 이미지

molra wrote:
회사란게 그렇게 안될거 같은데요.
소프트웨어 다 개발할 때 동안 하드웨어팀이 놀수는 없으니까요.. :?

하드웨어 전담팀이 있다면, 먼저 _최소한_의 하드웨어 스펙을 소프트웨어 팀과 정의하세요.

소프트웨어 팀은 2-3주에 한번씩 하드웨어 팀에게 점진적으로 완성된 소프트웨어를 제공하고, 하드웨어에 영향을 줄 사항에 대해 알려주세요.

하드웨어 팀은 소프트웨어 팀에서 얻은 정보와 소프트웨어로 하드웨어를 최대한 무리가 가게 하면서 하드웨어를 점진적으로 바꾸세요.

위와 같이 하려면 개발 프로세스가 제대로 설정되어 있어야 합니다. 하드웨어 전담 팀이 있다면 개발 프로세스도 있겠죠?

이상적인 경우라면 하드웨어 팀은 회사에 하나 있고 여러 프로젝트에 대해 하드웨어에 대한 지원을 해줘야 겠죠(따라서 소프트웨어가 완성되지 않았다 하더라도 하드웨어 팀이 노는 경우는 없습니다). 하드웨어도 많을테니 큰 무리 없이 소프트웨어 완성후 가장 걸맞는 하드웨어를 선택할 수 있을 겁니다.

국내에 그런 회사 몇이나 될지 궁금하군요 :)

http://lisp.or.kr http://lisp.kldp.org - 한국 리습 사용자 모임

yeppiguy의 이미지

가장 유사한 다른 회사 제품과 비교하세요.
똑같을수는 없지만, 많은 도움이 되실겁니다.
어떤 프로젝트인지는 모르겠지만, CPU와 메모리(플래쉬,램) 그리고 I/O블럭에 대해서는 소프트웨어 담당자가 어느정도 레퍼런스를 주셔야 합니다.

sonai의 이미지

용량을 산정할 때는 일반적인 OLTP 성격의 시스템이라고 볼 때
SI에서는 주로 TPC-C 를 이용합니다.
분당 트랜잭션을 몇 건 처리할 수 있는 서버용량이라야 하는가라고 보시면 크게 틀리지는 않습니다.
TPC-C 에서 정의한 트랜잭션과 실제 구현할 프로그램의 트랙잭션의 무게가 차이가 있을 것이고 여러 오차가 있을 테지만 아직까지는 가장 많이 통용되는 방법이지요.
피크시에 분당 트랜잭션이 얼마나 발생할 것인가를 알려주면 기반팀에서 각종 여유율을 보정해서 산정할 것입니다.
이 때 주의할 점은 여기서의 트랜잭션은 DB에서 얘기하는 트랜잭션이라기 보다는 업무적인 처리 건수에 보다 가깝다고 보시면 됩니다. 보통 1 트랜잭션을 5~6 DB write 로 보더군요.

www.tpc.org 를 참조하시면 TPC-C 의 스펙과 각 서버의 수치가 나와 있습니다. 단위는 tpmC 로 표현하지요.

단, 용량산정은 어디까지나 추정일 뿐입니다. 용량을 산정하는 사람의 경험과 감이 가장 중요하지요. 그리고 TPC-C 도 요즘은 그다지 많이 신뢰하지 않는 분위기인것 같네요. 그래도 아직까지는 대안이 별로 없으니까요.

참고로 웹서버의 용량산정의 경우는 specweb99, DW 는 TPC-H 를 이용하기도 합니다.

자, 어디로 갈까……. 네트는 광대해…….

lovewar의 이미지

javaservice넷에 "용량산정(Capacity Planning)에 대한 기술적 허구"글이 있습니다.

참조하시기 바랍니다.
http://www.javaservice.net/~java/bbs/read.cgi?m=resource&b=consult&c=r_p&n=1083816737&p=3&s=t#1083816737

sonai의 이미지

이원영 차장님의 고민도 모르는 바는 아닙니다만
현실적인 해결책이 별로 없다는 게 문제죠.
저도 용량산정을 해 봤지만 그게 신뢰도가 높다고 생각하지는 않습니다.
문제는 그걸 대신할만한 대안이 별로 없다는 거죠.

자, 어디로 갈까……. 네트는 광대해…….

yeppiguy의 이미지

우선 molra님께서 좀 더 구체적으로나마 도메인을 좀 긋는게 낫지 않을까요?
질문을 처음 접했을때는, 임베디드 쪽인줄 알았는데...답변이 점점..서버쪽으로 흐르고 있네요... 좀 더 현실적인 답변을 위해서는 질문을 다시 해 주시는게 어떨지요...

sonai의 이미지

그러고보니 애초 고민은 임베디드쪽인 것도 같군요 :shock:
그렇다고 하면 웬 삽질을 한건지.... :oops:

자, 어디로 갈까……. 네트는 광대해…….

molra의 이미지

네. 임베디드 쪽 맞고요. 하지만 엄밀하게 말하자면 임베디드라고 불리기에는 너무 덩치가 크네요. :shock:

경험으로 대략 이 정도로 되야겠다는 것은 가능할거 같은데.
대부분의 회사가 그렇듯이 산정 근거를 필요로 하게 되죠.

이쪽으로는 경험이 없어 잘은 모르지만 예를 들면 소프트웨어 1,2,3 이 올라가야 된다면
소프트웨어 1은 약 xxx MIPS,
소프트웨어 2는 약 xxx MIPS,
이런 형태의 빽데이터가 필요로 할 거 같습니다.
저도 소프트웨어 개발은 좀 해봤는데 이런건 처음이라..
말씀하신대로 우리나라에서 이렇게 하는데가 몇군데나 있을런지..

mach의 이미지

yeppiguy wrote:

가장 유사한 다른 회사 제품과 비교하세요.

세상에 존재하지 않는 신종 제품이 아니라면, 유사제품은 반드시 있으리라고
보입니다. 타 회사제품 또는 유사제품과 벤치마킹하는것 좋겠지요.

아니면, 개발이 PC또는 특정 마이크로 프로세서를 채택한 환경이라면,
시뮬레이션 레벨에서,....스팍XXX, 펜티엄XX, 메모리xx등에서 돌리면 적정(최저) 수준이더라,,,
라는 것을 토대로 대충 유사한 마이크로프로세서 및 부가장치를 선택하는데
보템이 될 수 있지 않을까? 합니다.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.