SFTPが遅かったので調べて対処したメモ (PhpStorm)

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 を再起動すると、詳細なログが記録されるようになります。