간단한 API를 사용하여 HTTP를 사용하여 Python 2 서버와 통신하는 클라이언트 응용 프로그램을 만들었습니다. 서버는 SQLAlchemy의 ORM을 사용하여 해당 HTTP 요청에 대한 데이터를 제공합니다. 문제는 활성 클라이언트가 거의없는 경우에도 CPU 사용량이 상당히 높다는 것입니다. 이 서버는 클라이언트 당 약 1 회의 요청으로 동시에 수백 개의 클라이언트를 서비스 할 수 있어야하므로 관리가 가능해야합니다 (또는 그렇게되기를 바랍니다).SQLAlchemy 성능을 향상시키는 방법?
어떻게 성능을 향상시킬 수 있습니까? 나는 cProfile이 이것을 아주 분명하게 보여주기 때문에 문제가 ORM이라는 것을 안다. 하나의 질의는 상당히 이상하게 보이는 10000 개의 파이썬 명령어를 실행합니다. 나는 다른 데이터베이스 엔진/백엔드에 연결하고 재미만을 위해 Pypy로 인터프리터를 변경했지만 분명히 원래의 문제를 해결하지 못했고 성능을 향상시키지 못했습니다.
내가 뭘 잘못하고 있니? 나는 이것이 정말로 "우물"이라고 희망한다. 문제.
내 관계가 다른 유형이어야합니까? 열망하는, 게으른, 역동적 인, 등? 지금은 특별히 아무것도 지정하지 않았습니다.
도움 주시면 감사하겠습니다.
일부 장소를 시작하는 데 대한 내 대답 http://stackoverflow.com/questions/1171166/how-can-i-profile-a-sqlalchemy-powered-application/1175677#1175677 좀 봐 – zzzeek