Aliaksandr Valialkin
|
c9c8d72607
|
Issue #78: immediately flush chunked data to client
|
2016-04-15 23:14:38 +03:00 |
|
Aliaksandr Valialkin
|
b6da470e12
|
Issue #78: Mention Iris with fasthttp support in 'web frameworks and routers' chapter in the README
|
2016-04-15 18:41:59 +03:00 |
|
Aliaksandr Valialkin
|
05949704db
|
Issue #78: Added an example for RequestCtx.SetBodyStreamWriter
|
2016-04-15 18:05:57 +03:00 |
|
Aliaksandr Valialkin
|
5fdbeef505
|
Server optimization: reduce the number of SetReadDeadline/SetWriteDeadline calls for keep-alive connections, since they don't scale properly. See https://github.com/golang/go/issues/15133 for details
|
2016-04-15 13:47:44 +03:00 |
|
Aliaksandr Valialkin
|
33163198b1
|
sped up slow tests under 'go test -race'
|
2016-04-15 13:47:42 +03:00 |
|
Aliaksandr Valialkin
|
cb7c08f920
|
Updated performance numbers in README
|
2016-04-06 15:19:50 +03:00 |
|
Aliaksandr Valialkin
|
8d147e45af
|
Issue #76: fixed data races in TimeoutHandler and RequestCtx.TimeoutError*. Updated tests for catching similar data races in the future
|
2016-04-06 15:08:34 +03:00 |
|
Aliaksandr Valialkin
|
e9544cbb6f
|
client: get rid of slow math/rand for sleep jitter generation
|
2016-04-04 15:02:33 +03:00 |
|
Aliaksandr Valialkin
|
adac101acf
|
Merge branch 'master' of https://github.com/valyala/fasthttp
|
2016-04-04 12:05:44 +03:00 |
|
Aliaksandr Valialkin
|
ebc297b394
|
Refer to quicktemplate from 'optimization hints' chapter
|
2016-04-04 12:05:33 +03:00 |
|
Aliaksandr Valialkin
|
3f0e1bb92f
|
PipelineClient: take into account queued requests waiting to be sent to the server in PendingRequests()
|
2016-04-03 11:19:52 +03:00 |
|
Aliaksandr Valialkin
|
9c292dcd3e
|
PipelineClient: do not send timed out requests to the server
|
2016-04-03 11:11:27 +03:00 |
|
Aliaksandr Valialkin
|
316adc4782
|
PipelineClient.Do: try substituting the oldest request in the pending queue by the current one on queue overflow
|
2016-04-03 10:58:55 +03:00 |
|
Aliaksandr Valialkin
|
8ae2d3e53c
|
PipelineClinet: added MaxBatchDelay option
|
2016-04-02 23:18:34 +03:00 |
|
Aliaksandr Valialkin
|
ca21b21eba
|
Return ErrPipelineOverflow from PipelineClient.Do if the pending requests' queue is overflown. This should prevent from caller's goroutines leak on stalled pipeline client
|
2016-04-01 18:21:35 +03:00 |
|
Aliaksandr Valialkin
|
22c9594090
|
Added PipelineClient for issuing pipelined requests to the server
|
2016-04-01 18:06:59 +03:00 |
|
Aliaksandr Valialkin
|
a0377f758e
|
workerpool: test cleaner
|
2016-03-31 14:56:39 +03:00 |
|
Aliaksandr Valialkin
|
9f20a62336
|
added workerpool tests
|
2016-03-31 14:41:27 +03:00 |
|
Aliaksandr Valialkin
|
4fa2d5db39
|
workerpool: bugfix: do not return workerChan to ready pool on panic
|
2016-03-31 12:37:46 +03:00 |
|
Aliaksandr Valialkin
|
e64702d6f0
|
workerpool: removed a hack for recycling worker stacks, since Go runtime must be able to shrink big stacks when they aren't needed
|
2016-03-31 10:31:53 +03:00 |
|
Aliaksandr Valialkin
|
65540104b3
|
server: verify request's 'Connection: close' after request handler returns
|
2016-03-31 10:17:29 +03:00 |
|
Aliaksandr Valialkin
|
7d29fb3b3d
|
server: added DisableKeepalive option for disabling keep-alive connections
|
2016-03-31 10:05:31 +03:00 |
|
Aliaksandr Valialkin
|
9946a8145e
|
bytesconv: reduce memory allocations on parse errors by using static errors
|
2016-03-30 20:49:09 +03:00 |
|
Aliaksandr Valialkin
|
57cbe65ddc
|
scalability improvement: use per-server peripconn pool
|
2016-03-30 20:34:07 +03:00 |
|
Aliaksandr Valialkin
|
72352d7661
|
workerpool: limit the number of connections each worker may serve. This should reduce the total amount of memory occupied by worker stacks in the long term
|
2016-03-30 19:35:46 +03:00 |
|
Aliaksandr Valialkin
|
3298603593
|
client: added MaxIdleConnDuration for limiting the duration of idle keep-alive connections established by clients
|
2016-03-30 19:23:17 +03:00 |
|
Aliaksandr Valialkin
|
064ef6ef44
|
added client end-to-end benchmark for 10K concurrent connections
|
2016-03-30 19:22:05 +03:00 |
|
Aliaksandr Valialkin
|
1f148c6c09
|
workerpool: properly clean scratch buffer for workerChans
|
2016-03-30 19:04:20 +03:00 |
|
Aliaksandr Valialkin
|
1d6b6a6608
|
workerpool: properly count workers
|
2016-03-30 18:45:57 +03:00 |
|
Aliaksandr Valialkin
|
92c779039c
|
workerpool: clean workerChan slices in order to reduce the amount of work for GC
|
2016-03-30 18:11:40 +03:00 |
|
Aliaksandr Valialkin
|
8094a6e20f
|
workerpool: reduced the time to hold the lock when cleaning unused worker goroutines
|
2016-03-30 16:40:16 +03:00 |
|
Aliaksandr Valialkin
|
12ba989984
|
Issue #69: Added RequestHeader.Add and ResponseHeader.Add for adding multiple headers with the same key
|
2016-03-29 17:11:43 +03:00 |
|
Aliaksandr Valialkin
|
e9207dac9e
|
Added Args.Add()
|
2016-03-29 16:49:42 +03:00 |
|
Aliaksandr Valialkin
|
6658e31fd0
|
Eliminated bufKV member from Args struct. This shaves off 16 bytes from RequestCtx struct
|
2016-03-29 16:37:29 +03:00 |
|
Aliaksandr Valialkin
|
eca172369c
|
Pass string key to hasArg instead of byte slice key
|
2016-03-29 16:31:38 +03:00 |
|
Aliaksandr Valialkin
|
0c67179812
|
Added delAllArgsBytes helper
|
2016-03-29 16:30:07 +03:00 |
|
Aliaksandr Valialkin
|
0d43464f64
|
Renamed unsafeBytes2Str to b2s
|
2016-03-29 16:26:21 +03:00 |
|
Aliaksandr Valialkin
|
8b26017325
|
Renamed setArg to setArgBytes
|
2016-03-29 16:19:22 +03:00 |
|
Aliaksandr Valialkin
|
1498d8174e
|
Issue #73: added 'HttpOnly' and 'secure' flags support to Cookie
|
2016-03-29 16:12:59 +03:00 |
|
Aliaksandr Valialkin
|
169b5eac74
|
server: sleep for a while after reaching the concurrency limit, so other concurrently running servers could accept and process incoming connections
|
2016-03-29 12:00:21 +03:00 |
|
Aliaksandr Valialkin
|
dbea792cf7
|
Scalability improvement: use distinct workerChan pool per each workerPool
|
2016-03-29 11:45:09 +03:00 |
|
Aliaksandr Valialkin
|
023e3807b8
|
workerPool optimization: determine the current time outside lock
|
2016-03-29 11:05:14 +03:00 |
|
Aliaksandr Valialkin
|
d444ab9169
|
Server: write error response when concurrency limit or per-ip conn limit is exceeded before closing the connection. This should improve server diagnostics
|
2016-03-28 18:42:40 +03:00 |
|
Aliaksandr Valialkin
|
bfa17b7ae9
|
do not copy Request and Cookie objects in tests
|
2016-03-28 17:17:05 +03:00 |
|
Aliaksandr Valialkin
|
0d8bc2c01a
|
updated benchmark results
|
2016-03-24 14:13:32 +02:00 |
|
Aliaksandr Valialkin
|
c469d18819
|
Issue #72: properly handle 'Connection: keep-alive, Upgrade' header
|
2016-03-22 19:47:59 +02:00 |
|
Aliaksandr Valialkin
|
9ad70994bb
|
code cleanup: removed duplicate code in fs.go
|
2016-03-21 18:42:34 +02:00 |
|
Aliaksandr Valialkin
|
2b172da539
|
re-use appendArg inside setArg
v20160316
|
2016-03-15 11:27:03 +02:00 |
|
Aliaksandr Valialkin
|
e8d5a6429c
|
Merge pull request #65 from vishr/master
Fixed Echo link
|
2016-03-15 11:18:14 +02:00 |
|
Vishal Rana
|
25078ee024
|
Fixed Echo link
Signed-off-by: Vishal Rana <vr@labstack.com>
|
2016-03-11 09:05:59 -08:00 |
|