Comments (1)
Same issue on Linux with v run pico.v
and siege http://localhost:8089
.
Note that the benchmark reports the server as online without dropping any requests.
Printing the server response in the benchmark shows that the server is replying as expected, even when reporting Error during req_read
internally:
# sample response from:
# siege --print --concurrent=10 --reps=100 http://localhost:8089
GET / HTTP/1.0
Host: localhost:8089
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (pc-x86_64-linux-gnu) Siege/4.1.6
Connection: close
Hello Picoev!
Increasing to 20k requests (20x1000 on a 24-core machine) sometimes shows something like this at the end of log output:
Error during req_read
Error during accept
Error during req_read
Error during req_read
Error during accept
Error during accept
Error during accept
Error during accept
Error during accept
Error during accept
Error during accept
Error during req_read
Error during req_read
Again, all requests are successful in the benchmark.
The underlying issue is that C recv
and accept
calls can reply with EAGAIN
or EWOULDBLOCK
on a -1
return value, which is to be expected for the asynchronous picoev event loop server.
The fix is to continue silently in the cases of EAGAIN
or EWOULDBLOCK
.
Patch incoming.
V 0.4.5 6a6d8e0
from v.
Related Issues (20)
- VWeb; No function to send raw data HOT 1
- v fmt command error! HOT 2
- Possible struct def overwritten in generated C code.
- os.join_path() returns a non-rooted path when second argument is rooted path HOT 1
- Decimal data type
- Implicit Function Declaration Issue HOT 2
- "Hello world" does not work in browser with the "js_browser" backend
- Unclear how to compile a static binary HOT 3
- Compiler error when building global arrays of empty Structs HOT 1
- Compilation failure for global array when array size is a const in another module
- Signal 11 segmentation fault on Alpine but not macOS HOT 1
- Allow path without filename for `-o`/`-output` flag
- after v fmt cause compile error
- io.stream_reader read function does not work HOT 5
- $dbg does not work everywhere
- "assignment mismatch: 1 variable(s) 0 value(s)" error for a simple generic if expression HOT 1
- cgen error for enum field with expression involving a constant HOT 3
- Silent Conversion of u64 to f64
- Alias of a fixed array can't be initialized HOT 3
- array.pop() ineffective in repl without attribution of the result
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 v.