서버 설치 기록 post-mortem
밑 포스팅에 정리해보면서 생각한거지만 참 문제가 많다.
1. DB 이전할 때 인코딩 문제
Linux 쪽에서 쓸 때는 금방 눈치 챘는데, table 문자집합이 latin1이다. 아니 왜 이게 기본값이야 Orz.
그래서 mysqldump 한 값이 엉망이길래, 구글링을 좀 하고 이런걸 찾았다 – mantis upgrade
이걸 참조해서
mysqldump -u root -p --default-character-set=latin1 -–skip-set-charset bitnami_redmine
로 백업했는데, skip-set-charset 이 MySQL이 기본적으로 삽입하는 SET NAMES 문자집합 구문을 빼버리기 때문에 문자열을 해석안하고 그대로 덤프해서 latin1인양 들어가있던 UTF-8 문자열들이 살아서(?) 나온 듯 싶다.
2. 빌드 서버 설정 문제
CC.net 띄우는것 까진 문제가 없었는데, 이게 빌드하고 테스트 케이스 실행하는 과정에서 발생한 문제가 한 두 개가 아니었다.
- ODBC 저장소 : FileDSN을 쓰고 있어서, 이걸 설정 안해주면 DB 연결 상당수가 GG.
- DB 재설정 코드: sqlcmd로 재설정하고 있긴한데, 이게 서버 주소를 하드코딩해놔서 Orz
- Library 순서 문제: 예전에도 삽질한건데(log4cxx 빌드 꼬임), 플랫폼 SDK랑 다른 헤더들 순서 문제가 골 때린다.
- 환경 변수 의존성: 몇 개 프로젝트는 정의된 환경 변수에서 include paht/lib path를 만들어낸다.
일단 바로 해결할 수 있는건 그다지 없어서 문서화 잘 해놓는걸로 끝내긴했는데, 이거 참 귀찮은 일이로세.
빌드하는 수준에서는 어떻게 될 것 같은데, 테스트 케이스를 실행하는 단계가 되면 문제가 좀 복잡한듯 Orz
3. 가상화 서버 성능 문제
intel xeon x5560이라는 상당히 훌륭한 CPU가 할당되서 좋아했는데 성능은 생각만큼이 아니다. 가상화 오버헤드도 있긴하겠지만, 그 보단 충분한 수의 코어가 할당이 안된듯? 아마 코어가 하나 할당되고, 이게 HT라서 두 개의 CPU 가 잡히는 것 같지만 이걸로는 부족하다.
이전 빌드 서버가 intel core2duo (conroe) 6600이었는데 (메모리는 이쪽이 4G이긴 했지만), 여기서 대략 20분 정도 걸리던 빌드가 21 분 수준으로 걸린다. 반면에 실행 속도는 거의 1.5~2.2배 정도씩 빨라졌더라.
뭐가 문젠가 하고 /MP 옵션이 없는 것만 빌드해봤는데1 1.7배씩 빠른 정도로 나오더라. 아무래도 물리 코어가 2개가 아니라 HT 코어 2개로 빌드해서 생기는 문제인듯? 밑단에서 어떤 가상화를 쓰는지 모르지만 코어 2개가 할당이 안되면(xeon x5560은 물리코어가 4, 각각에서 HT해서 총 8개 코어다) 좀 괴로울듯. 아니 기왕 딴 서버들 성능도 그닥 안 중요한데 물리 코어 3개 할당 좀 해주시면 좋겠다.
일단 요청은 했는데 금요일 밤에야 한거라 월요일에나 응답을 받을듯. 잘 되었으면 좋겠는데;
아마 CPU 부하 최대로 걸릴 녀석은 이 놈인듯하니(빌드서버가 좀…) 얘만 성능 잘 나와주면 다른 부하 적게 걸리는 공용 써버들도 다 가상화 서버 위로 옮겨도 될 것 같은데.
-
VS에서 빌드할 때 멀티프로세스를 써서 모든 코어를 최대한 활용해서 빌드하는 옵션. ↩︎