일시적으로는

sudo iwconfig wlan0 power off 
재부팅을 하기 전 까지 일시적으로는 가능하다

집에서 운영중인 개인 서버를 유선랜으로 연결했다가 위치를 옮기려고 무선랜(wifi)로 변경했다. 변경 후 특별한 문제가 없어보였는데 이상하게 개인서버에서 띄운 wordpress 로딩이 매우 느렸다. 처음엔 nginx에 어떤 latency 같은 게 있나 찾아봤는데 유사한 사례가 없었다.

증상으로는 처음으로 http request를 날리면 한참 후에야 response가 날라오는 것이다. 그 후로 request를 날리면 정상적으로 돌아왔고 또 시간이 지나면 response가 느려졌다. 혹시 네트워크가 절전모드로 빠지나 다음 명령으로 확인해봤다.

$ iwconfig
enp0s31f6  no wireless extensions.

lo        no wireless extensions.

wlp2s0    IEEE 802.11  ESSID:"test"
          Mode:Managed  Frequency:2.442 GHz  Access Point: AC:9E:17:70:74:78
          Bit Rate=72.2 Mb/s   Tx-Power=22 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=70/70  Signal level=-38 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:281   Missed beacon:0

docker0   no wireless extensions

역시나 wifi 디바이스가 Power Management 값이 on으로 설정되어 있었다. 결국엔 절전모드로 진입해서 문제가 발생하는 것이다.

구글링으로 몇몇 방법들을 시도해봤으나 ubuntu 18.04에서는 잘 동작되지 않았다. 그러다 다음 링크에서 나온 방법을 사용해보니 잘 동작해서 포스트로 남긴다.

$ sudo vi /etc/network/interfaces

위 파일에 manual로 네트워크 설정을 했었는데 아래와 같이 “wireless-power off”를 추가해주었다.

auto wlp2s0
iface wlp2s0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
    wpa-ssid test-ssid
    wpa-key_mgmt WPA-PSK warnus_2.4
    wpa-psk password
    wireless-power off //이거다

위와 같이 적용 후 재부팅을 하면 Power Management 값이 off로 설정된다.