Page MenuHomePhabricator

Update GeoIP cookie to include netspeed info
Closed, DeclinedPublic

Description

The GeoIP C API that we use in VCL to geolocate the client IP address supports using the MaxMind Netspeed database to determine the client connection speed.

Example code:
https://github.com/maxmind/geoip-api-c/blob/master/test/test-geoip-netspeed.c

We already have a subscription for the database (@kevinator or @Nuria should know the details), so it is presumably a matter of deploying the database files to the cache boxes and updating the VCL code in operations/puppet.git:templates/varnish/geoip.inc.vcl.erb to utilize it.

See T119797: Serve low-res images by default to users on slow or metered mobile connections for use-case.

Related Objects

StatusAssignedTask
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
DeclinedNone
OpenNone
Resolveddr0ptp4kt
DuplicateNone
DuplicateJhernandez
Duplicatedr0ptp4kt
OpenNone
ResolvedJdlrobson
DeclinedNone
InvalidNone
DeclinedNone
Resolvedori
DeclinedNone
Declinedori

Event Timeline

ori created this task.Nov 28 2015, 7:41 PM
ori raised the priority of this task from to High.
ori updated the task description. (Show Details)
ori added subscribers: BBlack, Niedzielski, Volker_E and 12 others.
ori added a comment.EditedNov 28 2015, 7:59 PM

The text Varnishes are already Puppetized to receive the latest version of the netspeed database into /usr/share/GeoIP, yay.

ori added a comment.Nov 29 2015, 12:22 AM

According to MaxMind, the NetSpeed database classifies connection as either dial-up, cable/DSL, corporate or cellular. If all cellular connections get mapped to "cellular", this is of limited value.

faidon added a subscriber: faidon.Nov 29 2015, 2:57 AM

Yeah, and also note "[t]he connection type is about 95% accurate in the US. Outside the US, accuracy ranges from 50% to 80%, depending on the country. The data is generally more accurate for countries with more Internet users." which would possibly exclude places that typically have lower connection speeds.

In any case, see also T99226 and https://gerrit.wikimedia.org/r/#/c/253619/ — we're going to eventually drop GeoIP 1 in favor of libmaxminddb/GeoIP2. The fundraiser is a bad time to be messing with the GeoIP cookie though. There is a GeoIP2 equivalent to the NetSpeed database called "connection type".

ori added a comment.Nov 30 2015, 7:17 AM

Neither the legacy nor the new-and-improved database from MaxMind breaks down mobile connections into different types, which is what we really need, so this is a non-starter. I propose we use geolocation for T119798 instead.

ori closed this task as Declined.Nov 30 2015, 7:18 AM
ori claimed this task.
Restricted Application added a project: Operations. · View Herald TranscriptMay 4 2016, 9:13 AM