-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
qps/rate limit & reduce expire seek range & expire-key hash #204
Open
piaoairy219
wants to merge
61
commits into
distributedio:master
Choose a base branch
from
zzstorage:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 37 commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
db84a39
fix empty command which cause titan to crash in parsing command
3e4b89e
change empty command's reply error from ErrEmptyArray to ErrEmptyCommand
c89b27f
close the connection when meet empty command
43bd6c3
some illegal clients send unreadable command which may cause titan cr…
95bd04b
if a connection send unknown commands 3 times, close it
63b131d
add expire left seconds metrics
a9c28fe
fix expire left time calculating
e5ff501
when set left/delay current seconds(expire), also set other seconds to 0
fb11c67
delete zadd args output
586b30d
first version of rate limit
27f54e7
1 use rate.limiter to implement limit and read tikv key/value to get …
e5018e4
qps also can be set burst, its limit also support k/K/m/M suffix
ecd78a2
1 change log level--limit not set, to debug
0648ab8
add limit default config items and fix error in config.go
f86245a
in startSyncNewLimit, just read all match limit once for every comman…
157d70a
change got limit log trace
fd0d8cc
add limit cleared log trace, just log limit is trigger when delay > 0
756a0e6
change limit/commandFunc cost seconds factor from 2 to 1.4
46bb6da
fix titan active time decoding bug
a839995
fix limit local percent bug
815efa4
fix titan active time parsing bug
9612571
add updateLimitPercent log
cc4255a
when create commandLimiter, also use localPercent to set limit
f00d8c5
fix limitersMgr localPercent using bug and lock before use it
da49bfa
reportLocalStat every globalBalancePeriod,even the commandLimiter is nil
30f7d2c
limit can also work on auth-disabled titan server
bcbd5a7
decrease the lock range in reportStat
1a50695
reportLocalStat run in itself go routine
a7753c4
1 change how to balance
fda1e66
update some config item's description and log
a474656
add limit changed log
8ed0698
commandLimiter store globalQpsLimit/globalRateLimit in int64, use it …
6ae93be
when all titan'a limiter qps is < devideUsage of its weight percent, …
70b3f15
add showlimit.sh and add a conf parameter for setlimit.sh
a22ca0f
1 resolve the problem that titan still process command for remote clo…
8403a21
1 BytesArray add judge for write eror
2d59108
refactor commandLimiter's qpsLimiter/ratelimiter and their globalLimi…
b034581
fix balance limit's bug
3b71e69
1 in Exec(), add transaction begin, cmd args num, cmd func, reply fun…
0fb99b7
simplify the msg recv/send log in debug level
37c1c68
fix bug of setting cmd arg num metric in Exec()
9de2ae9
add expire/gc round/seek/commit cost metrics
6c2328d
prevent connection more and more: when tikv command cost high, client…
bbfce19
fix bug of connection limit
93cd7df
1 add metrics range, fix cost exceed max value problem
7e2521b
Merge branch 'fpxu_dev' into 'master'
ad7cff1
1 add example for limit-connection and max-connection-wait in titan.toml
aeca4b3
1 fix unlock bug in limit-connection
bb617b0
don't lock s.serverctx.lock when limit-connection disabled
003e6b6
expire seek end in at:now keys to reduce rocksdb tomstone problem
4423eaf
fix a failed case in tests/redis/unit/expire.tcl
cc15799
expire seek start in last processed expireKeys to reduce rocksdb toms…
d9a1baf
fix expire log
83a370d
also reduce expire seek range when no expire keys or all expire keys …
d75dd34
also reduce expire seek range when no expire keys or all expire keys …
3519ff9
comment unsupported string functions in command list, and delete its …
c4eea83
comment unit test of unsupported string functions in strings_test.go
bd43ec2
hash expire-key, it will improve the keys num handled every seconds, …
fe6e84b
1 fix runExpire's problem that unhashed goroutine scan hashed expire-key
977b457
unhash expire goroutine use individual limit configuration item、expir…
9161d7e
buckets of comand/limit/commandFunc/txn commit cost is too many to l…
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
txnCommands
is not used anymore, usecommands
instead.