我正在尝试调整我的 WS 以支持 ~ 20k 并发用户。
无论我更改什么配置,当我的测试遇到 2(2)k 个用户和各种 502 / 504 错误时,我仍然获得相同的 6 秒平均响应时间/每个端点。
网络服务:
CloudFlare <--> Nginx <--> Gunicorn <--> Django/DRF <--> Memcache <---> Postgres
这是我尝试过的:
大多数端点每 100 秒访问一次数据库,其他请求从内存缓存中获取数据。
任何人都可以通过指出我应该更改哪种配置来提供帮助吗?
我应该在哪里寻找延迟/瓶颈?
Gunicorn 工人显然正在超时,我不理解这一点,因为 WS 视图中没有逻辑。它应该只从 memcache 获取查询并返回它。
Nginx 日志:
latforms/android HTTP/1.1", upstream: "http://10.0.1.17:9090/endpoints/platforms/android", host: "myhost.co"
2018/08/13 23:43:25 [error] 8893#8893: *2809163 upstream timed out (110: Connection timed out) while connecting …Run Code Online (Sandbox Code Playgroud) 是否可以基于动态传递的变量创建结构?
像这样:
def create_map_list(list, atom, struct) do
Enum.filter(list, &Map.has_key?(&1, atom))
|> Enum.map(
&%struct{
id: &1.new_agent.id,
name: &1.new_agent.name,
primary_skillset: &1.new_agent.primary_skillset,
secondary_skillset: &1.new_agent.secondary_skillset
}
)
Run Code Online (Sandbox Code Playgroud)
结束