SFTPが遅かったので調べて対処したメモ (PhpStorm)
Posted: Updated:
PhpStormで、あるサーバへのSFTPが異様に遅い
/Users/YOURNAME/Library/Logs/WebIDE10/idea.log を見たら原因がわかりました。
2011-07-30 08:36:49,132 [ 360990] INFO - ins.plugins.webDeployment.sftp - Authentications that can continue: gssapi-with-mic,publickey,keyboard-interactive,password 2011-07-30 08:36:49,133 [ 360991] INFO - ins.plugins.webDeployment.sftp - Next authentication method: gssapi-with-mic 2011-07-30 08:37:05,243 [ 377101] INFO - ins.plugins.webDeployment.sftp - Authentications that can continue: publickey,keyboard-interactive,password 2011-07-30 08:37:05,243 [ 377101] INFO - ins.plugins.webDeployment.sftp - Next authentication method: publickey 2011-07-30 08:37:05,286 [ 377144] INFO - ins.plugins.webDeployment.sftp - Authentication succeeded (publickey). 2011-07-30 08:37:05,287 [ 377145] DEBUG - ins.plugins.webDeployment.sftp - connect()
GSSAPI認証を試行してるときに、10秒以上かかってから次の公開鍵の試行に移っていたようです。ローカルの仮想サーバで、GSSAPI認証は使ってなかったので、サーバ側のsshd_configを編集します。
% emacs /etc/ssh/sshd_config #GSSAPIAuthentication yes GSSAPIAuthentication no % /etc/init.d/sshd restart
これでSFTPを再試行すると...
2011-07-30 08:42:21,397 [ 693255] INFO - ins.plugins.webDeployment.sftp - Authentications that can continue: publickey,keyboard-interactive,password 2011-07-30 08:42:21,397 [ 693255] INFO - ins.plugins.webDeployment.sftp - Next authentication method: publickey 2011-07-30 08:42:21,435 [ 693293] INFO - ins.plugins.webDeployment.sftp - Authentication succeeded (publickey). 2011-07-30 08:42:21,436 [ 693294] DEBUG - ins.plugins.webDeployment.sftp - connect()
あっさり!
How-to: Collecting PhpStorm/WebStorm Logs :: JetBrains Developer Community
じつは、これをしなくても今回知りたかった情報は、idea.logに普段から記されていて必要なかったのですが、一応詳細なロギングについてもメモ。
% emacs /Applications/PhpStorm/bin/log.xml ... <category name="com.jetbrains.plugins.webDeployment"> <priority value="DEBUG"/> </category> <root> <priority value="INFO"/> <appender-ref ref="DIALOG"/> <appender-ref ref="CONSOLE-WARN"/> <appender-ref ref="FILE"/> </root> </log4j:configuration>
rootが始まる直前に、3行を追記します。xmlを保存してPhpStorm を再起動すると、詳細なログが記録されるようになります。