Comments (4)
I just have started make a simple performance tests, using Confess.js and YSlow which are running by PhantomJS.
Now I need you to approve these tools, and discuss the concrete benchmarks.
from korolev.
@Fly-Style these tools about estimation of the quality of page. Not about testing server performance. It's suitable for regression testing of large code base in the projects. In our case we should count speed of server answers on a high load.
I suppose testing scenario should be like that:
- We have to deploy an app wich has enough complexity to the target server.
- The app already contains a js which can emulate user behavior. It counts the latency on each interaction. Finally it sends all collected metrics to phntomjs callback. You can take any framework from this list but I not sure they they are suitable for our case because of Korolev asynchronous nature.
- PhantomJS script opens 1000 instances of the page and waits for client metrics. Then report received, phantom closes page and append report to a CSV file.
- Some script takes CVSs, makes aggregation, and generates pretty HTML with charts and tables.
from korolev.
Proposal (Draft)
Korolev needs performance benchmarks to track regressions. Performance benchmarks should be run manually after the new feature is merged to develop
branch.
Solution
We will use HTTP/WebSocket client to connect to korolev-server
. After WebSocket connection is established test should emulate client behavior during initialization. When it should send user events (clicks) and track server reaction time. Metrics to collect:
- Min reaction time
- Max reaction time
- Median reaction time
from korolev.
Current implementation is slow.
from korolev.
Related Issues (20)
- Add way to global handle Exceptions in `event()`
- `loading` is not an AttrDef HOT 1
- Default `.mkString` performance regression
- File download streaming does not work using ZIO Http HOT 5
- adding the `required` AttrDef to `input` results in compiling error HOT 1
- Not working on korolev 1.3.0 + http4s 0.23.12 HOT 3
- events published by extensions are not visible by other extensions HOT 1
- Long polling sessions not close correctly
- syncTransition doesn't work properly
- Add transitionAsync
- Monocle interop
- Composable routers HOT 1
- ZioHttpExample issue HOT 2
- SessionService block threads in ExecutionContext for every live session
- Request timeout encountered for request [GET /bridge/web-socket/... Empty] HOT 1
- Akka-http interop freezes after akka.stream.StreamTcpException
- java.util.ConcurrentModificationException stack trace
- State buffering work incorrect with Future as Effect backend
- Regression, nothing work in Safari 12
- Regression: infinity reconnect in Safari (iOS)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from korolev.