이 문서 내용은 좀 낡았습니다.
60일이나 편집 안된 오래된 망한 문서니 개발 문서인 경우 참고할 때 조심하세요. 최신 정보를 알고 싶으면 게시판에 글 써주세요
%7B%7D
파이썬에는 멀티스레드와 멀티프로세스를 지원하긴 하지만 멀티스레드의 경우
GIL 문제로 인해서 싱글스레드를 쓰는 것과 거의 다름이 없다...
(1)그래서 이를 멀티프로세싱을 이용해서 극복하고자 하는 프로젝트이다.
일단 코드를 전부 병렬로 동작해도 문제 없도록 만들어야한다. 한 마디로 디비가 연관된 부분은 다 엎어야한다. 일단 엎기만 하면 SQLite는 스레드 안전하니까 문제... 없겠지? 일단 라우터 부분은 해결되었고 func.py를 해결해야 하는데... 쉽지 않을 것 같다... 언제 다 하지
그냥 func.py에 커넥션 넘겨주는 게 아니라 func.py 함수마다 커넥션 새로 열게하면 되겠네라는 이상한 발상으로 적용했다. 이제 병렬스레드 동작까진 되었으니 (물론 GIL 때문에 속도가 안 나온다) 멀티프로세스를 적용할 방안만 고민해보면 될 것 같은데... 흠... 걍 진짜 Go로 짤까
안 그래도 커넥션 여는 속도가 빠르지 않은데 이러면 함수 쓸 때마다 커넥션 계속 여니 느리다(...) 아무래도 func.py를 갈아엎는 게 맞는 것 같긴 한데...
이건
오픈테섭 서버의 IO 성능이 너무 느려서 생긴 문제였던 것 같다 MySQL로 이전한 후 속도가 매우 빨라졌다
문제 해결멀티프로세스를 uvloop등으로 적용하려고 시작한 방식이였으나 그냥 그럴빠엔 Golang으로 고부하 부분을 재작성하는 게 더 빠르고 효율적이겠다 싶어서 다른 프로젝트로 이관되었다