graphql-engine/server
Brandon Simmons 6d235be29c Add --disable-delayed-os-memory-return to default rtsopts
https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/runtime_control.html#rts-flag---disable-delayed-os-memory-return

Referencing canonical memory issue #3388

This is a bit of a mystery. It didn't seem to have any effect in early
repros we had. But now, running an introspection query benchmark I see:

  Running 400 concurrent connections:
    before this change: max residency ~450M
    after: ~140M
    No difference in latency was observed.

  ...BUT: if I give graphql-engine a warmup of 10 requests with 1
  connection (i.e. no concurrency): I see both have a max residency of
  ~140M (i.e. the flag doesn't help)

  ...also interestingly: a single warmup request doesn't seem to have
  any effect (ending RES is still high), 2 requests gets max RES down to
  ~180M.

I suspect many concurrent connections are spraying pinned data over a
bunch of blocks which are then not released to the OS barring memory
pressure. Whatever this is is maybe thread-local or "per-capability" in
some sense...
2020-07-06 11:54:18 -04:00
..
bench-wrk Regression benchmarks setup (#3310) 2020-06-19 22:40:17 +05:30
packaging Switch from stack to cabal-install for building server code (close #3280) (#3558) 2020-01-17 16:07:15 -06:00
src-bench-cache Migrate to GHC 8.10, upgrade dependencies. Closes #4517 2020-05-13 19:13:02 -04:00
src-exec generalize query execution logic on Postgres (#5110) 2020-06-16 23:14:59 +05:30
src-lib allow array relation connection fields regardless of aggregation permission & change relay endpoint to '/v1beta1/relay' (fix #5218) (#5257) 2020-07-03 12:00:35 +05:30
src-rsr tag release v1.3.0-beta.4 (#5281) 2020-07-04 10:15:37 +05:30
src-test Disable downgrade test for now. Closes #5273 (#5291) 2020-07-06 10:08:26 +05:30
tests-py allow array relation connection fields regardless of aggregation permission & change relay endpoint to '/v1beta1/relay' (fix #5218) (#5257) 2020-07-03 12:00:35 +05:30
.dockerignore update packages (#251) 2018-08-08 13:10:13 +05:30
.gitignore Switch from stack to cabal-install for building server code (close #3280) (#3558) 2020-01-17 16:07:15 -06:00
.stylish-haskell.yaml Refactor schema cache construction to avoid imperative updates 2020-01-08 16:43:06 -06:00
cabal.project bump pg-client-hs version (fixes a build issue on some environments) (#5267) 2020-07-02 12:11:08 +05:30
cabal.project.ci Scheduled triggers (close #1914) (#3553) 2020-05-13 18:03:16 +05:30
cabal.project.dev Fix erroneously-commited cabal.project.dev change from f8a731 (#5183) 2020-06-23 22:20:25 +05:30
cabal.project.dev-sh dev.sh: restore code coverage functionality 2020-01-23 18:35:18 -05:00
cabal.project.dev-sh.freeze dev.sh: restore code coverage functionality 2020-01-23 18:35:18 -05:00
cabal.project.dev-sh.local Migrate to GHC 8.10, upgrade dependencies. Closes #4517 2020-05-13 19:13:02 -04:00
cabal.project.freeze Don't compile in developer APIs by default 2020-06-08 10:21:14 +05:30
CONTRIBUTING.md Add a hint on avoiding recompilation during typical dev workflow (#4427) 2020-04-21 21:03:35 +02:00
graphql-engine.cabal Add --disable-delayed-os-memory-return to default rtsopts 2020-07-06 11:54:18 -04:00
Makefile Remote Joins: Create relationships across database and remote schemas (#2392) 2020-05-27 20:32:58 +05:30
Setup.hs move raven into graphql-engine repo 2018-06-28 00:32:00 +05:30
STYLE.md server: Add a Haskell style guide (#2175) 2020-04-08 02:31:30 -05:00