-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Large performance regression at SSHClient.load_system_host_keys() since paramiko 1.12.0 #370
Comments
Turns out the violatior is load_system_host_keys(), not connect() new sscce:
The numbers: on opensuse: yac@linux-1e2q % for i in {0..4}; do python paramiko-sscce.py; sleep 1; echo ""; done paramiko: 1.11.0 paramiko: 1.11.0 paramiko: 1.11.0 paramiko: 1.11.0 ~ paramiko: 1.13.1 paramiko: 1.13.1 paramiko: 1.13.1 paramiko: 1.13.1 on gentoo: yac@deathstar % for i in {0..4}; do python paramiko-sscce.py; sleep 1; echo ""; done paramiko: 1.11.0 paramiko: 1.11.0 paramiko: 1.11.0 paramiko: 1.11.0 ~ paramiko: 1.13.0 paramiko: 1.13.0 paramiko: 1.13.0 paramiko: 1.13.0 |
yac@deathstar % cat .ssh/known_hosts| wc -l both hashed. |
This is most likely due to hashing of the hostkeys. There is a patch here #272 that you can try. |
I applied 1795d9b but it doesn't seem to help much: yac@linux-1e2q % for i in {0..4}; do python paramiko-sscce.py; sleep 1; echo ""; done paramiko: 1.13.1 paramiko: 1.13.1 paramiko: 1.13.1 paramiko: 1.13.1 |
this is what I get when installing paramiko git 991d56b into virtualenv yac@linux-1e2q % for i in {0..4}; do python ~/paramiko-sscce.py; sleep 1; echo ""; done paramiko: 1.14.0 paramiko: 1.14.0 paramiko: 1.14.0 paramiko: 1.14.0 and the same with 1795d9b applied: yac@linux-1e2q % for i in {0..4}; do python ~/paramiko-sscce.py; sleep 1; echo ""; done paramiko: 1.14.0 paramiko: 1.14.0 paramiko: 1.14.0 paramiko: 1.14.0 |
Would you mind using git bisect to find the problematic changeset? Could you also provide a profile of your program? Thanks! |
|
on
gives
the "paramiko: 1.10.0" output is a little confusing to me but I guess it has something to do with the git merges. |
Yeah, that was my second suspicion. Also given your profile it looked to be ECDSA related. Are your server offering ECDSA keys? |
ssh -vvv <host> gives
so I guess so. |
Can you try #298 i think this will fix it since you spend a lot of time in point_is_valid |
1.13.0 with spearki@77b1aac applied looks a lot better:
|
Cool, that will land in the next release that @bitprophet will do. Will close this since we already have a fix! |
Large performance regression at SSHClient.connect() since paramiko 1.12.0
Details (including reprodcer) at https://bugzilla.novell.com/show_bug.cgi?id=891383
The text was updated successfully, but these errors were encountered: