집에서 운영중인 개인 서버를 유선랜으로 연결했다가 위치를 옮기려고 무선랜(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로 설정된다.