'TIL'에 해당하는 글 6건

프로세스와 쓰레드

TIL 2018.07.30 10:35



1. 프로세스 : 운영체제로 부터 프로세서를 할당받아(자원) 실행되기 위한 주소 공간, 메모리등을 할당 및 실행
   스레드  : 한 프로세스 내에서 동작되는 여러 실행의 흐름, 프로세스 내의 주소 공간 및 자원을 프로세스 내의 스레드끼리 공유

2. 쓰레드의 종류
- user thread : 일반적으로 프로세스 안에서 실행되는 스레드 스레드끼리의 오버 헤드가 발생하지 않는다.  ( single process )
- kernel thread : kernel scheduler에 cpu를 할당받아 실행, 멀티 프로세스를 할당 받을수 있음 
- multiplexed thread : 컨텍스트 전환이 느리기 떄문에 위의 두가지를 섞은 쓰레드 , NPTL(Native POSIX Threading Library)를 발전시키는 중


- user thread 가 컨텍스트 전환시 오버헤드가 커널쓰레드 보다 적은 이유는 커널 스케쥴러를 호출할 필요가 없기 떄문. ( 레지스터 저장 및 I/O 발생), 10배 정도 느림




'TIL' 카테고리의 다른 글

프로세스와 쓰레드  (0) 2018.07.30
mysql replication  (0) 2018.07.09
mysql fulltext  (0) 2018.07.09
ubuntu 14.04 mysql install  (0) 2018.07.05
elasticsearch  (0) 2018.06.30
젠킨스  (0) 2018.06.27

WRITTEN BY
No.190
세계정복의 시작점

받은 트랙백이 없고 , 댓글이 없습니다.
secret

mysql replication

TIL 2018.07.09 11:18

mysql replication


master / slave 서버에 각각의 실행이 다르므로 주의할것!!

1. 설정 추가

my.cnf 에 추가 (master)
[mysqld]
server-id = 1
log-bin = mysql-bin

mysql 재시작
$ sudo /etc/init.d/mysql restart

my.cnf 에 추가 (slave)
[mysqld]
server-id = 2
log-bin = mysql-bin

mysql 재시작
$ sudo /etc/init.d/mysql restart




2. 계정 추가

master에 replication을 수행할 유저 추가
(master mysql)
mysql > GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.100.0/ 255.255.255.0' IDENTIFIED BY '비번';


2-1. 덤프 (필요할 경우에만)
!! 수행하려는 master가 이미 테이블 및 데이터가 수정이 되었다면 덤프를 통해 slave를 동기화를 해줘야 한다. (아니면 그동안의 동기화가 깨져 에러가 난다.)

master 덤프
(master 콘솔)
$ mysqldump -u root -p --all-databases > dump.db

slave 에 추가
(slave 콘솔)
$ mysql -u root -p < dump.db




3. slave에 마스터 정보 추가

먼저 master_log_file / master_log_pos 의 정보는 master에서 정보 획득
(master mysql)
mysql > show master status;


slave에 master 정보 추가
(slave mysql)
mysql > CHANGE MASTER TO MASTER_HOST='10.211.55.13',MASTER_USER='repl',MASTER_PASSWORD='비번', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 730 MASTER_PORT=3306, MASTER_CONNECT_RETRY=30;




4. 실행
slave replication 실행
(slave mysql)
mysql > start slave;

!! 에러 확인
(slave msyql)
mysql > show slave status;
last_error 칼럼을 통해서 에러를 확인한다.



'TIL' 카테고리의 다른 글

프로세스와 쓰레드  (0) 2018.07.30
mysql replication  (0) 2018.07.09
mysql fulltext  (0) 2018.07.09
ubuntu 14.04 mysql install  (0) 2018.07.05
elasticsearch  (0) 2018.06.30
젠킨스  (0) 2018.06.27

WRITTEN BY
No.190
세계정복의 시작점

받은 트랙백이 없고 , 댓글이 없습니다.
secret

mysql fulltext

TIL 2018.07.09 10:20

mysql 5.7 버전 이상일것!!



1. index 추가

ex) ALTER TABLE 테이블명 ADD FULLTEXT INDEX 인덱스명 (컬럼명);

mysql > ALTER TABLE AppPurchases ADD FULLTEXT INDEX idx_message (message);

2. 검색
ex) SELECT * FROM 테이블명
WHERE MATCH(컬럼명) AGAINST('검색어1 검색어2')

mysql> SELECT * FROM AppPurchases WHERE MATCH(message) AGAINST('축하해')

3. 두글자일 경우 my.cnf 수정
innodb_ft_min_token_size=2

ft_min_word_len=2



'TIL' 카테고리의 다른 글

프로세스와 쓰레드  (0) 2018.07.30
mysql replication  (0) 2018.07.09
mysql fulltext  (0) 2018.07.09
ubuntu 14.04 mysql install  (0) 2018.07.05
elasticsearch  (0) 2018.06.30
젠킨스  (0) 2018.06.27

WRITTEN BY
No.190
세계정복의 시작점

받은 트랙백이 없고 , 댓글이 없습니다.
secret

ubuntu 14.04 mysql install

TIL 2018.07.05 14:36

- 나의 경우 ubuntu 14.04에서 mysql 5.7.* 버전이 설치 되지 않았다.  apt-get 에서 mysql-server-5.7 패키지가 사라진것으로 보인다. (혹시 되시는분?)


$ sudo apt-get update

$ sudo apt-get install mysql-server

- 설치 (설치 중 root 암호 입력)


$ sudo mysql_secure_installation

- 보안 설정


$ sudo mysql_install_db

- 기본 디비 설치


$ mysql -u root -p

mysql> select version();

- mysql 버전 확인



* 외부 접근 허용

mysql> use mysql;

mysql> select host, user, password from user;

- 현재 접속 가능한 유저

1) 특정 IP 접근 허용 설정
mysql> grant all privileges on *.* to 'root'@'10.221.55.8' identified by 'root의 패스워드';

2) 특정 IP 대역 접근 허용 설정
mysql> grant all privileges on *.* to 'root'@'10.221.%' identified by 'root의 패스워드';

3) 모든 IP의 접근 허용 설정
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root의 패스워드';


mysql> select host, user, password from user;
mysql> flush privileges;

mysql> exit


sudo vi /etc/my.cnf (혹은 sudo vi /etc/mysql/my.cnf)
- 아래부분 주석처리
# bind-address = 127.0.0.1


$ sudo /etc/init.d/mysqld restart

- mysql 재시작


'TIL' 카테고리의 다른 글

프로세스와 쓰레드  (0) 2018.07.30
mysql replication  (0) 2018.07.09
mysql fulltext  (0) 2018.07.09
ubuntu 14.04 mysql install  (0) 2018.07.05
elasticsearch  (0) 2018.06.30
젠킨스  (0) 2018.06.27

WRITTEN BY
No.190
세계정복의 시작점

받은 트랙백이 없고 , 댓글이 없습니다.
secret

elasticsearch

TIL 2018.06.30 23:49



https://stackoverflow.com/questions/31031001/elasticsearch-over-mysql-search-performance


전문 검색은 mysql 5.7 버전부터 지원하나 elasticsearch 에 아직 비빌 정도는 아님

but elasticsearch의 경우 기본 메모리가 4GB이상 이여야 가능하므로( 이하에선 성능 저하 및 동작 불능 에러 )

결국 전문검색이 필요한 서비스라면 전문검색을 위한 DB서버가 따로 마련되어야 한다.

'TIL' 카테고리의 다른 글

프로세스와 쓰레드  (0) 2018.07.30
mysql replication  (0) 2018.07.09
mysql fulltext  (0) 2018.07.09
ubuntu 14.04 mysql install  (0) 2018.07.05
elasticsearch  (0) 2018.06.30
젠킨스  (0) 2018.06.27

WRITTEN BY
No.190
세계정복의 시작점

받은 트랙백이 없고 , 댓글이 없습니다.
secret

젠킨스

TIL 2018.06.27 22:49

젠킨스


- but aws ec2 에서는 sudo가 먹히지 않아 자동 배포에 막히는 부분이 있음.

         aws에서 지원하는 젠킨스 서비스를 이용해야 가능


1. 설치


ubuntu

https://www.fun25.co.kr/blog/jenkins-ubuntu-16-04-install/?category=004


centos

https://yaboong.github.io/jenkins/2018/04/29/run-jenkins-on-aws-ec2/


mac 


http://theeye.pe.kr/archives/2783



2. github 훅

https://yaboong.github.io/jenkins/2018/05/14/github-webhook-jenkins/



3.배포


-빌드

http://heowc.tistory.com/75?category=703317


http://www.leafcats.com/227


http://kingbbode.tistory.com/35


http://heowc.tistory.com/77



4. 슬랙

http://pjc0247.tistory.com/49




5.테스트 연동

mocha

http://blog.jeonghwan.net/mocha/


 api test

chai

https://scotch.io/tutorials/test-a-node-restful-api-with-mocha-and-chai



'TIL' 카테고리의 다른 글

프로세스와 쓰레드  (0) 2018.07.30
mysql replication  (0) 2018.07.09
mysql fulltext  (0) 2018.07.09
ubuntu 14.04 mysql install  (0) 2018.07.05
elasticsearch  (0) 2018.06.30
젠킨스  (0) 2018.06.27

WRITTEN BY
No.190
세계정복의 시작점

받은 트랙백이 없고 , 댓글이 없습니다.
secret