프로그램 최적화와 시스템 최적화

mir_jang의 이미지

안녕하세요.
프로그램 경력 4년차의 개발자 입니다.

저는 리눅스와 유닉스 시스템을 어느 정도 다룰 줄 알고 프로그램도 왠만큼
한다고 생각하는 사람 중에 하나인데..

요번에 새프로젝트 땜시 java,jsp로 작업을 하게 되었는데..
저희 팀들은 다들 어느 정도 경력이 되는 사람들로 구성되어 있습니다.

저희들은 프로젝트(웹사이트작업)을 맞으면서 구현쪽에만 관심을 가지고
있었고 어느 정도 일이 진행 되고 있었습니다..
그런데 어느 날 새로온 개발팀장이 동시접속자나 사용량을 고려 안 했다고
해서 어느 정도 개발된 작업은 다시 원점에서 부터 설계를 해야 된다고 합니다.

제가 생각하기엔 동시접속자 수나 사용량은 프로그램에서 처리해 주는 부분은
굉장히 미미하고 시스템 설계 쪽에서 해주는 게 더 효과적이라고 알고 있습니다.

제가 잘못 알고 있는 건지요..

프로그램에서 처리 해 줄 수 있는 영역이 어디까지 이며 ,,시스템에서 처리해 줄수 있는 부분은 어디까지 인지 알고 싶습니다..

ssehoony의 이미지

프로젝트의 성격에 따라 다르겠지만
분명 프로그램 설계에서 최적화 할 수 있는 여지가 많이 있습니다.
가령 많은 퍼포먼스가 필요하다면 DB 사용을 최대한 줄이는 방향 설계를
한다던지 하는거죠.

(시스템설계란, 하드웨어 스펙이나 JSP 같은 경우 VM 이나 웹서버를 말씀하시는건가요?)

JSP 를 하신다고 했으니 일반적인 테크닉을 말씀드리자면
접속자가 많지 않다면 웹페이지는 그냥 JSP 로 작동시켜서 그 때 그 때
실시간으로 웹페이지를 구성해도 되겠지만, 사용자가 많으면
부하를 감당하기 힘들어집니다. 이럴때는 실시간으로 페이지를 만들지 않고
데이터가 변경될때마다 정적인 html 파일을 생성해서 그 파일을 include
해서 별도의 처리 없이 바로 뿌리는 방식을 사용하는 거죠.
이방식은 거의 대부분의 대형 사이트에서 사용하고 있는 방식입니다.

이 처럼 프로그램 설계차원에서 포퍼먼스 향상을 할 수 있는게 많습니다.
아니, 오히려 시스템설계보다 프로그램설계쪽에서 퍼포먼스를 향상할 수
있는 방법도 많고 그 효과도 클거라고 생각합니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.