티스토리 툴바

달력

052012  이전 다음

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  

Prefork 방식의 아파치 서버일 경우 한명의 client 접속시 일반적으로 5~10MB 정도의 메모리를 사용하게 된다.
-> ps aux 명령어 결과에서 RSS 크기를 참조한다. 아래 예시를 보면

# /usr/ucb/ps aux | grep apac
root 8688 0.0 0.1 5280 3936 ? S 1월 21 0:55 /home/apac
nobody 17125 0.0 0.1 5280 2536 ? S 14:02:27 0:00 /home/apac
nobody 17126 0.0 0.1 5280 2536 ? S 14:02:28 0:00 /home/apac
nobody 17127 0.0 0.1 5280 2536 ? S 14:02:28 0:00 /home/apac
nobody 17128 0.0 0.1 5280 2536 ? S 14:02:29 0:00 /home/apac
nobody 17129 0.0 0.1 5280 2536 ? S 14:02:29 0:00 /home/apac
nobody 17130 0.0 0.1 5280 2536 ? S 14:02:29 0:00 /home/apac
nobody 17131 0.0 0.1 5280 2536 ? S 14:02:29 0:00 /home/apac
root 20143 0.0 0.1 1776 1424 pts/2 S 17:55:55 0:00 grep apac

메모리가 8GB 이고, 기본적으로 OS에서 1GB 사용, DB 등 다른 S/W에서 1GB 사용하여 6GB가 여분이고, 편의상 client당 10MB 사용한다면
6GB*1024/10MB = 614.4 로 약 600여명이 동시접속 가능하게 된다.

물론, 이는 메모리만 산정할 경우를 계산한 것이다.


네트워크 밴드위스의 경우,
웹서버는 이미지 외에 크게 전송할 콘텐츠가 아니므로 보통 300KB/sec
정도면 훌륭합니다. 그러나 실제로 클라이언트 환경에 좌우되기 때문에
이 속도까지 나오지 않고 보통 10 ~ 300KB/sec 정도입니다.

여기에서는 편의상 작은 50KB/sec 으로 잡는다면
50KB/sec = 50 * 8 KBits/sec = 400Kb/sec 입니다.

10MBPS => 10Mb/sec = 10*1024Kb/sec / 400Kb/sec => 26 Clients
Posted by 불펭
1. 아파치 2.0.xx 버전

기본 동시접속자수는 최대 256명. 이를 더 많은 숫자로 변경하기 위해서는 아래 파일 수정 후 재펌파일이 필요하다.
/apache/../server/mpm/prefork/prefork.c 파일에서
#define DEFAULT_SERVER_LIMIT 256
위에서 숫자 부분을 적당하게 늘려주고

/apache/../server/mpm/worker/worker.c 파일에서
#define DEFAULT_SERVER_LIMIT 16
위에서 숫자 부분을 적당하게 늘려준다.

예를 들어 prefork.c 파일에서 1280으로 늘려주었다면, worker.c 파일은 20으로 늘려주는데, 그 이유는 아래와 같다.

worker 방식은 기본적으로 16개의 child process와 그 안에 64개의 thread를 생성가능하므로, 16*64 = 1024가 된다. 따라서 prefork.c 파일에서 1280으로 늘려주게 되면, worker.c는
1280/64 = 20이 되므로 20으로 수정해 줘야 똑같이 1280명의 동시접속자가 가능하게 된다.

컴파일은 아래와 같이 수행한다.

기존에 /usr/local/apache 로 웹서비스를 사용중이라면
/usr/local/apache 가 아닌 다른 이름으로 컴파일 설치 하면 충돌없이 컴파일이 됩니다.

configure 는 컴파일 환경을 설정 해주는 것입니다.

./configure --prefix=/usr/local/apache2/
make
make install

하면 컴파일이 되겠습니다.

컴파일 후 /usr/local/apache 에 있는 설정 파일들을 /usr/local/apache2 에 복사한 후
웹사이트를 잠시 중지 할 수 있는 시간을 이용하여 apache 를 중지하고 apache2 를 가동하여
오류 여부등을 확인한 한다음 정상적으로 웹사이트가 운영이 된다면 apache 를
삭제(백업필수) 한 뒤 디렉토리명을 apache2 에서 apache 로 변경하여 정상 운영 하면 되겠습니다.
(물론 환경설정 부분이 수정될 수 있습니다. 꼼꼼히 체크 하는 것 잊지 마세요.)



2. 아파치 1.3.xx 버전

기본 동시접속자수는 최대 256명인데, 이는 MaxClients에 입력가능한 최대치를 말합니다.
256명 이상의 동시접속을 허용하고자 할 경우에는 아파치를 다시 재 컴파일해야 합니다.
아파치 디렉토리로 이동하여 ../src/include 안의 httpd.h 에서 다음과 같은 부분을 찾아
값을 높여 주시면 됩니다.

#define HARD_SERVER_LIMIT 512

위와같이 설정 한 후 http.h 파일을 재컴파일해야 정상적으로 적용이 됩니다.

만약 클라이언트가 512명 이상의 접속을 넘어서 이루어질 경우에는 다음과 같은 메시지가
로그파일에 남게 되며, 클라이언 트는 다른 요청의 접속이 끝날 때 까지 대기하거나
또는 특정시간이 지난 후 접속이 이루어질 수 없다는 메시지를 보여주게 된답니다 .

[error] server reached MaxClients setting, consider raising the MaxClients setting.


만약, 동시접속자 수를 기본 동시접속자 최대 수인 256명 미만으로 조정하고자 한다면,
재컴파일이 필요없이 아래 파일만 수정합니다.

../conf/httpd.conf
MaxClients 150

그리고, 아파치를 리스타트 하면 됩니다.
# apachectl restart

[출처] http://kikook.tistory.com/entry/아파치-동시접속자수-변경-13xx-및-20xx-버전

Posted by 불펭

Samba 설정하기

서버/Linux 2011/05/13 10:22

1. 삼바 설치 확인

[root@localhost ~]# rpm -qa | grep samba
system-config-samba-1.2.39-1.el5
samba-3.0.28-0.el5.8
samba-client-3.0.28-0.el5.8
samba-common-3.0.28-0.el5.8

 

설치되어 있지 않을 경우

[root@localhost ~]# yum install -y samba

 

 

2. 삼바 환경설정

삼바 환경설정 파일인 smb.conf 파일 수정

 

[root@localhost ~]# cd /etc/samba

[root@localhost samba]# vi smb.conf

 

# ----------------------- Network Related Options -------------------------
#
# workgroup = Workgroup
#
# server string is the equivalent of the NT Description field
#
# netbios name can be used to specify a server name not tied to the hostname
#
# Interfaces lets you configure Samba to use multiple interfaces
# If you have multiple network interfaces then you can list the ones
# you want to listen on (never omit localhost)
#
# Hosts Allow/Hosts Deny lets you restrict who can connect, and you can
# specifiy it as a per share option as well
#

        unix charset = cp949
        dos charset = cp949
        display charset = cp949

        리눅스와 윈도우즈간의 언어셋 설정.

 

        workgroup = MYGROUP

        윈도우즈의 작업그룹명. ip 대역으로 접속시에는 아무거나 해도 상관없다.

        server string = Samba Server Version %v

        윈도우즈에서 접속시에 보여지는 서버이름. 

        네트워크 드라이브로 연결시에는 위의 서버명과 디렉토리명이 같이 표시되기 때문에 적절히 수정.
 
;       netbios name = local_CentOS
 
;       interfaces = lo eth0 192.168.1.2/24 192.168.2.13/24
        hosts allow = 192.168.1.5 123.45.6.

       삼바서버에 접속할 수 있는 클라이언트 IP 대역 설정.

       (위의 경우 192.168.1.5 IP와 123.45.6. IP 대역에 대해 접속을 허용)

 

 

# ----------------------- Standalone Server Options ------------------------
#
# Security can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.
 
        security = user
        passdb backend = tdbsam

        security = share (삼바서버에 사용자명/패스워드 인증없이 접속 가능)

        security = user (리눅스 계정 아이디로 접속 가능)

        user로 설정했을 경우, 환경설정 저장 후 리눅스 계정 패스워드와는 별도로 삼바서버에 패스워드를 등록해야 한다.

 

 

#============================ Share Definitions ==============================
 
[homes]
        comment = Home Directories
        browseable = no
        writable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S

삼바서버에 로그인한 사용자의 홈디렉토리 설정.

security = user로 설정되어 있을 경우, 로그인한 사용자의 디렉토리가 표시된다.

 

[test1_share]
        comment = test1_share
        path = /home/test
        writable = yes
        valid users = test1

 

로그인한 사용자에게 홈디렉토리 이외에 공유할 디렉토리를 설정해줄 수 있다.

위의 경우, "test1" 사용자에게 자신의 디렉토리 이외에 "/home/test" 디렉토리도 공유할 수 있게 해준다.
 

3. 삼바 서비스 시작

[root@localhost samba]# service smb start
SMB서비스를 시작 중:                                       [  OK  ]
NMB서비스를 시작 중:                                       [  OK  ]

 

4. 윈도우즈에서 삼바 접속

시작 > 실행 > \\삼바 서버 IP

 

5. 삼바 서버에서 사용할 계정 패스워드 설정

[root@localhost samba]# smbpasswd -a test1

New SMB password:

Retype new SMB password:

Added user test1.

 

smbpasswd -a test1 : test1 사용자의 삼바용 패스워드 추가

smbpasswd -x test1 : test1 사용자의 삼바 계정 삭제

smbpasswd -d test1 : test1 사용자의 삼바 계정을 사용중지

Posted by 불펭

553 Could not create file.

ftp 업로드 할때 발견한 에러이다.

업로드 하려는 해당 디렉토리의 소유권과 관련된에러인데  ftp 클라이언트 측에서 접속한 ID 와

접속한 디렉토리의 소유자및 소유그룹이 다를경우 발생한다.

chown 명령을 통해 동일하게 변경하면 해결.

selinux 관련해서도 발생할수있다고하는데 selinux 는 넘 어렵다 ;;

보통 disable 해서 쓰니 패스 ㅋ

위경우에도 해결안될시

553 Could not create file.

  

# setsebool  -P ftpd_disable_trans 1

# /etc/init.d/vsftpd restart

Posted by 불펭