-
Notifications
You must be signed in to change notification settings - Fork 985
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
[Perf] Test hypothesis 3: Whisper network overhead #2965
Comments
@divan do you want to look into this? I know you mentioned it a bit. |
@annadanchenko pointed out it might also be a good idea to test most common user action, which is probably:
It'd also be OK to replace specific hypothesis with one related to this. The general idea is to use a specific scenario and spike test, as there's likely to be overlap in solution. If there isn't it'd be good to have a hunch as to why for future experiments. |
@oskarth I'm working on the code that will allow testing this hypothesis. If I'm going to do the verification myself — cannot answer right now. |
@divan @oskarth I've done with whisper network overhead. I've tested network overhead of clean geth without status app to get a bias. Test env: Geth/v1.8.0-unstable-3f40b22d/linux-amd64/go1.9.2 IDLEWith whisperStats (bytes/s):
Traffic sum(bytes):
Without whisperStats (bytes/s):
Traffic sum(bytes):
Create accountWith whisperStats (bytes/s):
Traffic sum(bytes):
Without whisperStats (bytes/s):
Traffic sum(bytes):
1-to-1 chatWith whisperStats (bytes/s):
Traffic sum(bytes):
Without whisperStats (bytes/s):
Traffic sum(bytes):
Network overhead
Result: Whisper adds 20% of traffic in idle and chatting however this overhead relates to geth themself and we can't quickly fix this issue. So i suggest to monitor this metrics from time to time and consentrace on performance issues. |
@oskarth , I took a quick stab at trying to correlate @JekaMas ' results above with @churik 's results in #2931 . In short, I didn't find much of a correlation. I made the following assumptions:
The 1:1 chat action is the most relatable. churik observed between 3 and 10 MB of traffic for 1 minute of chatting, which equates to between 52,429 and 174,763 bytes per second. Compare this to Jeka's mean bytes per second of 806,637. The vast difference in those measurements may be due to the volume of chat messages being transmitted (churik said "messages contains emojis, text, long messages pasted from clipboard" ... not sure what sort of data Jeka was using). Or it may be that churik's sample size (1 minute) was not enough to infer a realistic mean (compared to Jeka's 10 minutes). Or, of course, it may be something else entirely. As for account creation, Jeka observed a total of 3 MB bytes of data consumption (reported as 3,995,348 bytes), while churik observed 30 MB. Of potential importance here is Jarrad's comment suggesting that the data flows for this action are for blockchain synchronization, not whisper overhead. And as for idle time, it's not clear whether the numbers are comparable, as churik's data was recorded while the app was in the background, and Jeka's was (presumably) recorded while idle in foreground. In any case, churik observed between 0.01 and 0.1 MB/s, and Jeka observed an average of 0.7 MB (reported as 740,899 bytes) per second. What do these imply about the next steps for the Experiment at hand? |
How is it relevant to measure network traffic when account is being created? |
@JekaMas Who is currently owning this issue? If it is deemed to no longer be relevantly / badly specified, where is the continuation? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been automatically closed. Please re-open if this issue is important to you. |
Identified Behavior
@churik observed that Status takes up a lot of bandwidth when doing common operations, in total two orders of magnitude more than Telegram.
Specifically, creating an account takes ~30mb vs <1mb for Telegram.
Hypothesis
Whisper overhead is cause of x30+ data for creating an account when using Ropsten RPC.
(Hypothesis 2: Blockchain is still being synced when using Ropsten RPC.)
UPDATE 2018-01-20: Hypothesis 3: p2p layer is causing network overhead.
Assumptions
Experiment
Acceptance criteria
Notes
The text was updated successfully, but these errors were encountered: