a1c4e64994
ref https://linear.app/tryghost/issue/CFR-4/ - added request queueing middleware (express-queue) to handle high request volume - added new config option `optimization.requestQueue` - added new config option `optimization.requestConcurrency` - added logging of request queue depth - `req.queueDepth` We've done a fair amount of investigation around improving Ghost's resiliency to high request volume. While we believe this to be partly due to database connection contention, it also seems Ghost gets overwhelmed by the requests themselves. Implementing a simple queueing system allows us a simple lever to change the volume of requests Ghost is actually ingesting at any given time and gives us options besides simply increasing database connection pool size. --------- Co-authored-by: Michael Barrett <mike@ghost.org>
40 lines
1.2 KiB
JSON
40 lines
1.2 KiB
JSON
{
|
|
"name": "@tryghost/recommendations",
|
|
"version": "0.0.0",
|
|
"repository": "https://github.com/TryGhost/Ghost/tree/main/ghost/recommendations",
|
|
"author": "Ghost Foundation",
|
|
"private": true,
|
|
"main": "build/index.js",
|
|
"types": "build/index.d.ts",
|
|
"scripts": {
|
|
"dev": "tsc --watch --preserveWatchOutput --sourceMap",
|
|
"build": "tsc",
|
|
"build:ts": "yarn build",
|
|
"prepare": "tsc",
|
|
"test:unit": "NODE_ENV=testing c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura -- mocha --reporter dot -r ts-node/register './test/**/*.test.ts'",
|
|
"test": "yarn test:types && yarn test:unit",
|
|
"test:types": "tsc --noEmit",
|
|
"lint:code": "eslint src/ --ext .ts --cache",
|
|
"lint": "yarn lint:code && yarn lint:test",
|
|
"lint:test": "eslint -c test/.eslintrc.js test/ --ext .ts --cache"
|
|
},
|
|
"files": [
|
|
"build"
|
|
],
|
|
"devDependencies": {
|
|
"@types/node": "^20.5.7",
|
|
"c8": "8.0.1",
|
|
"mocha": "10.2.0",
|
|
"sinon": "15.2.0",
|
|
"ts-node": "10.9.2",
|
|
"typescript": "5.4.3"
|
|
},
|
|
"dependencies": {
|
|
"@tryghost/tpl": "0.1.26",
|
|
"@tryghost/errors": "1.3.1",
|
|
"@tryghost/in-memory-repository": "0.0.0",
|
|
"@tryghost/bookshelf-repository": "0.0.0",
|
|
"@tryghost/logging": "2.4.13"
|
|
}
|
|
}
|