[SERVER-36518] why syn write outperforms asyn,why Synchronous writing is better(async have more asyn thread to consume) Created: 08/Aug/18  Updated: 04/Sep/18  Resolved: 08/Aug/18

Status: Closed
Project: Core Server
Component/s: Admin
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: yxyxz123456 Assignee: Nick Brewer
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Steps To Reproduce:

@keith.bostic 
@xgen-internal-githook
can you help me.

I always thought asynchronous writing was better than synchronous writing, but The test results are opposite.

 

why syn write outperforms  asyn,why Synchronous writing is better(async have more asyn thread to consume)

 

The test results are as follows:

 

1. async thread config to write:

root@dprofiler-jvm-00.gz01:/data1/yyz/wtperf-test$ 
root@dprofiler-jvm-00.gz01:/data1/yyz/wtperf-test$ cat WT_TEST/test.stat 
root@dprofiler-jvm-00.gz01:/data1/yyz/wtperf-test$ 
root@dprofiler-jvm-00.gz01:/data1/yyz/wtperf-test$ ls
500m-btree-populate.wtperf wtperf WT_TEST
root@dprofiler-jvm-00.gz01:/data1/yyz/wtperf-test$ tail -f WT_TEST/test.stat 
Starting 4 populate thread(s) for 50000000 items
Starting 20 async thread(s)
5195456 populate inserts (5195456 of 50000000) in 10 secs (10 total secs)
4915569 populate inserts (10111025 of 50000000) in 10 secs (20 total secs)
5044813 populate inserts (15155838 of 50000000) in 10 secs (30 total secs)
5221553 populate inserts (20377391 of 50000000) in 10 secs (40 total secs)
4905787 populate inserts (25283178 of 50000000) in 10 secs (50 total secs)
5442404 populate inserts (30725582 of 50000000) in 10 secs (60 total secs)
4915668 populate inserts (35641250 of 50000000) in 10 secs (70 total secs)
3652834 populate inserts (39294084 of 50000000) in 10 secs (80 total secs)
4845839 populate inserts (44139923 of 50000000) in 10 secs (90 total secs)
5246793 populate inserts (49386716 of 50000000) in 10 secs (100 total secs)
Finished load of 50000000 items
Load time: 102.40
load ops/sec: 488266
Compact after populate
Compact completed in 10 seconds

 

2. no async thread config reusult:

root@dprofiler-jvm-00.gz01:/data1/yyz/wtperf-test$ tail -f WT_TEST/test.stat 
Starting 4 populate thread(s) for 50000000 items
5735292 populate inserts (5735292 of 50000000) in 10 secs (10 total secs)
5703659 populate inserts (11438951 of 50000000) in 10 secs (20 total secs)
6021691 populate inserts (17460642 of 50000000) in 10 secs (30 total secs)
5849552 populate inserts (23310194 of 50000000) in 10 secs (40 total secs)
5833485 populate inserts (29143679 of 50000000) in 10 secs (50 total secs)
5780148 populate inserts (34923827 of 50000000) in 10 secs (60 total secs)
5672788 populate inserts (40596615 of 50000000) in 10 secs (70 total secs)
5652205 populate inserts (46248820 of 50000000) in 10 secs (80 total secs)
Finished load of 50000000 items
Load time: 86.97
load ops/sec: 574904
Compact after populate
Compact completed in 3 seconds
Run completed

Participants:

 Description   

why syn write outperforms  asyn,why Synchronous writing is better



 Comments   
Comment by Nick Brewer [ 08/Aug/18 ]

Thanks for your report. Please note that the SERVER project is for reporting bugs or feature suggestions for the MongoDB server. For MongoDB-related developer discussion please post on the mongodb-dev group, where your question will reach a larger audience.

-Nick

Generated at Thu Feb 08 04:43:20 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.