Why is terminal access to my Linode so slow?

I have a 1 GB Linode server running Debian 8.7 that I do all of my Django/Python development on. I'm in Los Angeles, CA and my server is upstate in Fremont, CA. I've noticed in the last week that when I log in to my server and type in commands on the command line or edit a file using Vim, the terminal response is very slow. Often times, I'll have to wait to see the letters I type in on the shell command line echoed back out. This is even more frustrating when I'm editing code in Vim. What could be causing this problem? Is there any way to speed up my console access? I'm to the point now where I'm ready to set up my web, database, and file servers on local Vagrant VMs and get rid of my Linode development servers entirely. Here are what I would imagine are most of the pertinent factors:

Editing locally on 2.7 GHz MacBook Pro with 16 GB SSD RAM and SSD hard drive. CPU, RAM, and hard drive utilization very low.

Running iTerm 3 and Tmux 2.3 locally and whatever version of SSH that comes pre-installed with MacOS 10.12.5 (not sure how to find version info)

Network bandwidth up/down: 5 Mbps/60 Mbps

I've checked status.linode.com and all systems were operational

I'm using Vim 7.4 on my server

My Linode disk utilization is 12%

There should be disk I/O bottle necks as I'm the only one on the server and all I'm doing is editing.

Memory utilization appears to be OK. Here's output from "free -m":

    total       used       free     shared    buffers     cached
    Mem:           988        675        313         62         98        350
    -/+ buffers/cache:        226        762
    Swap:         1023         11       1012

Here's ping output:

 PING web01.example.com (173.255.211.117): 56 data bytes
    64 bytes from 173.255.211.117: icmp_seq=0 ttl=52 time=22.186 ms
    64 bytes from 173.255.211.117: icmp_seq=1 ttl=52 time=23.392 ms
    64 bytes from 173.255.211.117: icmp_seq=2 ttl=52 time=22.192 ms
    64 bytes from 173.255.211.117: icmp_seq=3 ttl=52 time=22.641 ms
    64 bytes from 173.255.211.117: icmp_seq=4 ttl=52 time=24.805 ms
    64 bytes from 173.255.211.117: icmp_seq=5 ttl=52 time=681.515 ms
    64 bytes from 173.255.211.117: icmp_seq=6 ttl=52 time=868.982 ms
    Request timeout for icmp_seq 7
    64 bytes from 173.255.211.117: icmp_seq=7 ttl=52 time=1342.053 ms
    64 bytes from 173.255.211.117: icmp_seq=8 ttl=52 time=594.793 ms
    64 bytes from 173.255.211.117: icmp_seq=9 ttl=52 time=22.763 ms

    --- web01.example.com ping statistics ---
    10 packets transmitted, 10 packets received, 0.0% packet loss
    round-trip min/avg/max/stddev = 22.186/362.532/1342.053/454.242 ms

Here is traceroute output. There appears to be failed jumps as I approach the Linode network:

 1  192.168.0.1 (192.168.0.1)  2.057 ms  0.975 ms  0.971 ms
 2  142.254.236.169 (142.254.236.169)  8.515 ms  9.007 ms  8.365 ms
 3  agg61.lsaicaev01h.socal.rr.com (24.30.168.17)  9.540 ms  9.163 ms  8.799 ms
 4  agg11.lsaicaev01r.socal.rr.com (72.129.18.192)  10.083 ms  10.758 ms  12.809 ms
 5  agg26.lsancarc01r.socal.rr.com (72.129.17.0)  11.547 ms  39.135 ms  16.272 ms
 6  bu-ether26.lsancarc0yw-bcr00.tbone.rr.com (66.109.3.230)  16.723 ms  15.309 ms  15.926 ms
 7  ae2.lsancarc0yw-bpr01.tbone.rr.com (66.109.1.41)  11.215 ms  40.996 ms  10.192 ms
 8  10ge5-6.core1.lax2.he.net (64.62.153.205)  10.811 ms  14.077 ms  10.399 ms
 9  100ge8-2.core1.pao1.he.net (184.105.81.237)  26.555 ms  23.554 ms  25.015 ms
10  10ge8-8.core3.fmt2.he.net (184.105.222.89)  44.632 ms  26.923 ms  79.891 ms
11  * * *
12  173.230.159.17 (173.230.159.17)  22.341 ms  23.371 ms  22.515 ms
13  li221-117.members.linode.com (173.255.211.117)  22.939 ms  24.026 ms  21.829 ms

This seems to have become a problem in the last week or so. Thanks for your help!

7 Replies

dwfreed, sorry about my not using the 'Code' button. I'll remember that in the future.

Here are two screen shots:

http://imgur.com/a/hMxTQ

Thank you for your help! I'm learning from you.

Yeah, that looks like the second one. Try connecting to your router over a wired connection, to determine if it's something to do with wifi, or the device itself.

Amazing! I connected my laptop directly to my router using a 10BASE-T cable and here's what the mtr output looks like now:

Start: 2017-07-12T16:03:52-0700
HOST: Roberts-MacBook-Pro.local                 Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.0.1                                0.0%    10    0.5   0.5   0.4   0.5   0.1
  2.|-- 142.254.236.169                            0.0%    10    7.9   8.2   7.9   8.9   0.3
  3.|-- agg61.lsaicaev01h.socal.rr.com             0.0%    10    9.0   8.8   8.0  10.1   0.6
  4.|-- agg11.lsaicaev01r.socal.rr.com             0.0%    10    8.4  12.7   8.4  17.5   2.8
  5.|-- agg26.lsancarc01r.socal.rr.com             0.0%    10   13.5  15.1  11.2  17.4   2.0
  6.|-- bu-ether26.lsancarc0yw-bcr00.tbone.rr.com  0.0%    10   12.5  15.2  11.3  20.3   3.0
  7.|-- 0.ae1.pr1.lax00.tbone.rr.com               0.0%    10   10.1  10.7   9.3  18.1   2.6
  8.|-- 10ge5-6.core1.lax2.he.net                  0.0%    10   18.5  12.8   9.5  18.5   3.6
  9.|-- 100ge8-2.core1.pao1.he.net                20.0%    10   17.9  20.0  17.7  25.6   2.7
 10.|-- 10ge8-8.core3.fmt2.he.net                  0.0%    10   18.7  19.6  17.8  24.8   2.2
 11.|-- ???                                       100.0    10    0.0   0.0   0.0   0.0   0.0
 12.|-- 173.230.159.1                              0.0%    10   27.3  22.0  20.5  27.3   1.9
 13.|-- li221-117.members.linode.com               0.0%    10   21.6  21.8  21.4  22.2   0.3

@dwfreed:

Yeah, that looks like the second one. Try connecting to your router over a wired connection, to determine if it's something to do with wifi, or the device itself.

Could you tell me precisely what it was about the second image that led you to believe that it was my wifi or device?

Thank you very much. If you were here, I'd buy you a beer. :-)

Slow ssh typing is almost always a connection problem. And given this is Linode, it's highly likely the issue is on your end.

Your ping shows some packets returning late, which means during that particular timeframe, your ssh session surely would have lagged.

Try to run a ping to your Linode, while also running a ping elsewhere in the world, to see if the slow ping is happening just to linode, or everywhere.

Ping is almost worse than useless unless you're trying to reach a host on the same layer 2 network. Likewise with traceroute. Use mtr:

https://www.linode.com/docs/networking/ … s-with-mtr">https://www.linode.com/docs/networking/diagnostics/diagnosing-network-issues-with-mtr

I ran the mtr command from my laptop to my server and then from the server to my laptop and got the following results:

Here is output of mtr from my laptop to my server:

    Start: 2017-07-12T12:46:56-0700
    HOST: Roberts-MacBook-Pro.local                 Loss%   Snt   Last   Avg  Best  Wrst StDev
      1.|-- 192.168.0.1                                0.0%    10    1.1  70.3   1.0 371.7 126.0
      2.|-- 142.254.236.169                            0.0%    10    8.7 249.3   8.4 1029\. 397.6
      3.|-- agg61.lsaicaev01h.socal.rr.com             0.0%    10    9.0 354.1   9.0 1031\. 458.5
      4.|-- agg11.lsaicaev01r.socal.rr.com             0.0%    10   10.0 390.8   9.6 1171\. 496.1
      5.|-- agg26.lsancarc01r.socal.rr.com             0.0%    10   15.2 360.4  12.1 1090\. 455.1
      6.|-- bu-ether26.lsancarc0yw-bcr00.tbone.rr.com  0.0%    10   11.4 401.9  10.6 1444\. 538.0
      7.|-- 0.ae1.pr1.lax00.tbone.rr.com               0.0%    10   10.0 369.1   9.9 1364\. 501.6
      8.|-- 10ge5-6.core1.lax2.he.net                  0.0%    10   10.8 339.6  10.6 1286\. 463.4
      9.|-- 100ge8-2.core1.pao1.he.net                 0.0%    10   36.0 314.7  18.5 1206\. 421.2
     10.|-- 10ge8-8.core3.fmt2.he.net                  0.0%    10   29.8 337.5  18.3 1124\. 450.8
     11.|-- ???                                       100.0    10    0.0   0.0   0.0   0.0   0.0
     12.|-- 173.230.159.1                              0.0%    10   22.0 347.4  21.4 1268\. 493.5
     13.|-- li221-117.members.linode.com               0.0%    10   22.1 316.8  21.8 1187\. 458.1

Here is mtr from the server to my laptop:

    Start: Wed Jul 12 20:04:45 2017
    HOST: web01                                               Loss%   Snt   Last   Avg  Best  Wrst StDev
      1.|-- 23.92.24.3                                           0.0%    10    1.0   0.7   0.6   1.0   0.0
      2.|-- 173.230.159.16                                       0.0%    10    0.8   0.8   0.7   0.9   0.0
      3.|-- sjo-b21-link.telia.net                               0.0%    10    1.3   1.5   1.3   2.5   0.0
      4.|-- palo-b22-link.telia.net                              0.0%    10    1.7   1.7   1.6   2.3   0.0
      5.|-- las-b22-link.telia.net                               0.0%    10   11.4  11.4  11.3  11.6   0.0
      6.|-- chartercommunications-ic-325646-las-b22.c.telia.net  0.0%    10   12.5  17.4  12.2  57.3  14.1
      7.|-- unk-426d057a.adelphiacom.net                         0.0%    10   14.9  15.6  12.6  18.9   2.1
      8.|-- agg2.lsancarc01r.socal.rr.com                        0.0%    10   13.1  15.2  12.5  18.9   2.3
      9.|-- agg1.lsaicaev01r.socal.rr.com                        0.0%    10   15.6  16.2  15.0  17.8   0.9
     10.|-- agg1.lsaicaev01h.socal.rr.com                        0.0%    10   15.0  15.0  14.8  15.1   0.0
     11.|-- agg1.lsaicaev03m.socal.rr.com                        0.0%    10   14.0  14.2  13.9  15.4   0.3
     12.|-- cpe-104-172-228-26.socal.res.rr.com                  0.0%    10   22.0  21.5  21.1  22.7   0.3

The issue appears to be with the route from my laptop to my linode but I don't know what actions I can take to remediate or resolve this problem.

(In the future, use the 'Code' button on the post reply form to put the results in a code block; I asked a staff member to edit your post to do that for you.)

The outbound report suggests that it could be one of a few things. The first, most annoying possibility, is that your Mac is triggering scanning frequently (usually due to poor signal, common in apartment complexes where there's a lot of interference with other residents' wifi, but there's also times where OS X will do it unnecessarily). The second possibility is some other problem with your wifi or home router. The third possibility is a problem with your ISP's network, possibly congestion related.

One thing you can do is run mtr without the –report and --report-wide flags, and switch to the graph with latency display (press 'd' twice, on recent mtr you can add '--displaymode 2' to the command line), and then look at the graph when the lag hits. Grabbing a screenshot (Cmd+Shift+4, then click and drag over the mtr, or follow that up with space and then click the terminal window) and posting a link to it here (upload it to imgur or something) will let us see exactly what it's like when it happens, and we can probably figure out which one it is easier from that.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct