... | ... | @@ -39,4 +39,54 @@ Able to run Redis Cluster locally and updated Retwis to the cluster connection. |
|
|
Figure out what's the next step:
|
|
|
- Need to find out current balancing software for redis
|
|
|
- Need to figure out how to replicate the data slot on different shards
|
|
|
Well, first these two. |
|
|
\ No newline at end of file |
|
|
Well, first these two.
|
|
|
|
|
|
### Feb 26
|
|
|
Previously Result:
|
|
|
Created a free style fakeStream for Retwis, which caused some pressure but not really.
|
|
|
Weak point and improvement for the fakeStream:
|
|
|
1. Changing the functionality of Retwis
|
|
|
- Add a Retweet function:
|
|
|
- post part - "Shared by" + PreviousUser's Username + OldPost
|
|
|
- every post need to have one more field, originPostId
|
|
|
- origin post originPostId = new generated id
|
|
|
- retweet post originPostId = OldPost.originPostId
|
|
|
- every post need to have a list to keep track of the person who retweet this post
|
|
|
- Add a Favorite function:
|
|
|
- every post need to have a list to keep track of the person who favorited the post
|
|
|
- Whenever user access the timeline, need to show each post:
|
|
|
- who retweeted the list
|
|
|
- who Favorited the list
|
|
|
2. Add the operation in the fakeStream that user can read their timeline
|
|
|
- in order to performance some read operation for database
|
|
|
3. Need to reconfigure the follow operation so that the user need to follow others in a function
|
|
|
- the distribution of the user follow should be a loglog graph etc.
|
|
|
4. Save all the user in the database and always reuse them. Don't always abandon them after the test.
|
|
|
The above weaknesses have not been improved/implemented yet.
|
|
|
Able to run YCSB on both Redis-Single and Redis-Cluster.
|
|
|
Found out that Redis-Cluster is almost 3x slower than Redis-Single
|
|
|
Question that the efficience differece is caused by Java client
|
|
|
Tried tests on Python client using Retwis
|
|
|
Turns out Redis-Cluster is slower than Redis-Single
|
|
|
|
|
|
Current Thinking:
|
|
|
The performance difference between Redis-Cluster and Redis-Single is caused by the client side random redirecting when requesting the data.
|
|
|
Demo of the situation is like this:
|
|
|
`
|
|
|
127.0.0.1:7000> set foo bar
|
|
|
-> Redirected to slot [12182] located at 127.0.0.1:7002
|
|
|
OK
|
|
|
127.0.0.1:7002> set bar foo
|
|
|
-> Redirected to slot [5061] located at 127.0.0.1:7000
|
|
|
OK
|
|
|
127.0.0.1:7000> get foo
|
|
|
-> Redirected to slot [12182] located at 127.0.0.1:7002
|
|
|
"bar"
|
|
|
127.0.0.1:7002> set min 2
|
|
|
-> Redirected to slot [9696] located at 127.0.0.1:7004
|
|
|
OK
|
|
|
127.0.0.1:7004> set dif r
|
|
|
-> Redirected to slot [14969] located at 127.0.0.1:7002
|
|
|
OK
|
|
|
`
|
|
|
|