Lighttpd와 함께 Lua FASTCGI를 사용하고 있습니다. 루아 스크립트는 웹에 노출되는 C API를 감싸는 얇은 래퍼입니다. 문제는 Ajax 호출이 (병렬로 실행되는 대신) 서버 측에서 하나씩 실행된다는 것이며 너무 많은 시간이 걸린다는 점입니다. 일부 Ajax 호출은 최대 10 초가 걸리며 호출이 실행되는 동안 브라우저는 데이터를 업데이트 할 수 없습니다.Lighttpd, Lua, WSAPI 느린 Ajax 호출
Lighttpd에서 서버 스레드 수를 늘려 보았지만 Lighttpd에서 권장하지 않습니다. 여러 Ajax 호출을 서버 측에서 병렬로 실행하는 방법을 모르겠습니다.
나는 공동 루틴을 제공 할 것이다. 그러나 루아는 기본적으로 멀티 스레딩을 가지고 있지 않다는 것을 알고있다. 그러나 다중 스레딩을 허용하는 Lua Lanes라고하는 라이브러리가 있습니다. – AlexStack
예, 하나의 루아 상태로 멀티 스레딩이 작동하지 않습니다 (루틴은 도움이되지 않습니다); 하나의 os 쓰레드에서 동일한 상태의 다중 루아 "쓰레드"(coroutines)를 실행하는 것이 가능해야하며,해야 할 일이있을 경우에만 "쓰레드"를 실행해야합니다. 대부분의 경우 네트워크를 기다리고 있다고 말 했으므로 기다리는 동안 (비동기 코딩, 콜백) 다른 lua "스레드"를 실행하십시오. 또한 다른 os 쓰래드에서 다른 lua 상태를 동시에 실행할 수 있으며, 상태는 lua의 관점에서 아무 것도 공유하지 않습니다. – Stefan