테스트 서버 스펙 Intel Xeon Gold 6140 : 18Core CPU x 2 EA = 18 core x 2 hyperthread x 2 EA = 72 Logical Processers

4가지 케이스

loop.vbs : 무한루프를 돌려서 CPU 100%를 만드는 프로세스

numa.cmd : 개수를 입력 받아 그 수만큼 서버의 numa 별로 프로세스를 실행하는 배치파일


시나리오 

  • 36개 프로세스 실행 + numa 분배 없이 실행 =>  numa 쏠림 현상 발생
  • 36개 프로세스 실행 + numa 분배 하면서 실행 =>  numa 쏠림 없음
  • 72개 프로세스 실행 + numa 분배 없이 실행 =>  numa 쏠림 현상 발생, Application 지연 발생
  • 72개 프로세스 실행 + numa 분배 하면서 실행 =>  numa 쏠림 없음, Application 지연 없음.


32개 

loop.vbs
While True
Wend
numa.cmd
@echo off
if defined verbose echo on 
setlocal enableextensions enabledelayedexpansion

if "%1"=="" (
     echo Usage: %0 ^
     goto end
) else (
     set ProcessCount=%1
)

set /a ProcessCountMinusOne=%ProcessCount% - 1
set /a NumberOfNumaNodes=%HighestNumaNodeNumber% + 1
set end=%ProcessCountMinusOne%

for /L %%p in (0, 1, %end%) do (
     set /a node=%%p %% %NumberOfNumaNodes%
echo start /node !node! cscript loop.vbs
     start /node !node! cscript loop.vbs
)
:end


'Cloud > Softlayer' 카테고리의 다른 글

Global IP setting  (0) 2018.07.08
SuperMicro 보드 Turbo Boost 켜기  (0) 2018.06.28
Numa 불균형 테스트 해보기  (0) 2018.06.17
NAT 서버 설정 - CentOS 7기준  (0) 2018.06.03
ICOS를 Linux file system에 마운트 해보기  (0) 2018.05.25
Softlayer BIOS Performance Setting  (0) 2018.05.15

userdata가 든 파일명이 user-data.web이라면


간단하게는  

user_data = "${file('user-data.web')}"

혹시, 작은 따옴표건으로 에러가 난다면 아래처럼 큰 따옴표로 바꿔본다. (신기하게도 난 아래게 정상 동작했다)

user_data = "${file("user-data.web")}"

terraform plan을 해보면 실제 파일의 내용이 대신 들어가 있다. 


복잡하게는 

resource "template_file" "web-userdata" {
    filename = "user-data.web"
}
resource "aws_launch_configuration" "webfarm" {
    name = "web_config"
    image_id = "ami-c5b7d8b2"
    instance_type = "t2.micro"
    security_groups = ["${aws_security_group.web-instance.id}"]
    user_data = "${template_file.web-userdata.rendered}"
}


'Cloud' 카테고리의 다른 글

Terraform에서 user_data를 파일로 지정하고 싶을 때  (0) 2018.06.14
cloud-init example  (0) 2018.06.13
Magic Quadrant for IaaS, Worldwide  (0) 2018.05.29

https://github.com/cloud-init/cloud-init/tree/master/doc/examples

https://cloudinit.readthedocs.io/en/latest/topics/examples.html

#cloud-config
package_upgrade: true
packages:
  - httpd


#cloud-config
package_update: true
package_upgrade: all

packages:
 - httpd24
 - php56
 - mysql55-server
 - php56-mysqlnd

runcmd:
 - service httpd start
 - chkconfig httpd on
 - groupadd www
 - [ sh, -c, "usermod -a -G www ec2-user" ]
 - [ sh, -c, "chown -R root:www /var/www" ]
 - chmod 2775 /var/www
 - [ find, /var/www, -type, d, -exec, chmod, 2775, {}, + ]
 - [ find, /var/www, -type, f, -exec, chmod, 0664, {}, + ]
 - [ sh, -c, 'echo "" > /var/www/html/phpinfo.php' ]


#cloud-config
 power_state:
   delay: "+30"
   mode: poweroff
   message: Bye Bye
   timeout: 30
   condition: True


#cloud-config
runcmd:
 - [ sh, -c, 'echo ==== $(date) ====; echo HI WORLD; echo =======' ]


'Cloud' 카테고리의 다른 글

Terraform에서 user_data를 파일로 지정하고 싶을 때  (0) 2018.06.14
cloud-init example  (0) 2018.06.13
Magic Quadrant for IaaS, Worldwide  (0) 2018.05.29

+ Recent posts