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)
- Empty lines after function signature are removed HOT 1
- a V compiler bug
- I want to use this if
- The "Array Slices" section in the V documentation is incorrect HOT 5
- operator overloading not work: invalid operator `+` to `voidptr` and `voidptr` HOT 5
- v broken again on freebsd when using clang, the default compiler HOT 1
- Compiler bug when trying to return an interface-optional with a fallback default value
- Sorting an array of references HOT 9
- Building 0.4.6 release: `V panic: No such file or directory; code: 2` HOT 13
- V allows duplicated operator method
- x &&= y is not implemented HOT 4
- x.json2 fails to decode a map with number keys HOT 2
- eof ignored because of <> HOT 1
- when <circular> printing does not show the number of item in the array HOT 2
- builder error: cannot convert 'struct array' to 'struct array *'
- Including Homebrew's sshlib fails to compile HOT 1
- cgen error for generic function over maps and arrays HOT 1
- Allows annonymous struct type to be passed as args
- c-style for loop with type alias provokes build error
- cannot use constants with values obtained using `$d` as a condition in comptime `if`
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.