Bug 1663205

Summary: List dictionary is too slow
Product: [Community] GlusterFS Reporter: xs233 <1490889344>
Component: fuseAssignee: bugs <bugs>
Status: CLOSED UPSTREAM QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 4.1CC: bugs, jahernan
Target Milestone: ---Keywords: Performance
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-12 12:33:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description xs233 2019-01-03 12:22:53 UTC
Description of problem:
I create a distribute volume and mount to a dictionary. Then I put 25,000 files to the dictionary. After finished, I write a program to list the dictionary. I found the program spent 20s. It's unbelievable. And I copy the dictionary to root dictionary. And running the program again. The time display just less than 1s. So I think there is some problems in glusterFS. Then I do some more test for glusterFS. I found that the spent time is normal when the dictionary contains 20,000 files, but when the number is more than 20,000, it's easy to show bad performance. Finally, I found the reason of bad performance is stat function for every file. I don't know why the stat function is spent lots of time when the dictionary contains 25,000 files. I hope someone can help me.

GlusterFS vesion:
glusterfs 4.1.6

Volume info:
Volume Name: gv0
Type: Distribute
Volume ID: 7cfccb92-5b9d-4483-8212-0f02cd1197d6
Status: Started
Snapshot Count: 0
Number of Bricks: 1
Transport-type: tcp
Bricks:
Brick1: dlaas-184:/data/glusterFS/gv0
Options Reconfigured:
transport.address-family: inet
nfs.disable: on

Comment 1 Worker Ant 2020-03-12 12:33:50 UTC
This bug is moved to https://github.com/gluster/glusterfs/issues/905, and will be tracked there from now on. Visit GitHub issues URL for further details