📜 ⬆️ ⬇️

Comparison of geolocation binary databases and their drivers: GeoIP, Sypex Geo, TabGeo

A specific feature of this test is a certain proximity to real conditions, when there is a need to determine the country of one visitor on the fly for one script launch, that is: one script launch — one ip-address . In similar testing from zapimir , a different principle was used, which, it seems to me, has little to do with the real need: one script launch - the definition of several thousand ip-addresses in a loop.

The first thing we will do is compare the bases:
DeveloperBaseUpdate DateNumber of ranges, thousandSize of base, Kb
GeoipGeoLite Country2014.06.0393688
Sypex geoSypex Geo Country2014.06.2090365
Tabgeotabgeo_country_v42014.06.20200998

Sypex Geo boasts the smallest base of all presented, but also the lowest accuracy (90,000 ranges). TabGeo has the highest accuracy - 200,000 ranges, but, therefore, the most plump base. GeoIP - in all respects occupies an intermediate position. All databases currently have regular updates.

And now let's proceed directly to testing the performance of different databases. A special feature of testing was determining the time of the script to determine one ip-address per launch, then the data was interpreted into the number of launches for one second.
DeveloperBaseRequests per second (median)
GeoipGeoLite Country460
Sypex geoSypex Geo Country910
Tabgeotabgeo_country_v41400

The table shows that the most unhurried solution for geolocation is GeoIP - only 460 requests per second, for the most common and popular solution - this is very bad, and I would like to note that MaxMind's GeoIP2 is not a way out of this situation (this is more information base, than the base for geolocation).

The silver medalist of this competition is the base and the driver from Sypex Geo - 910 hits per second, which is two times better than the results shown by GeoIP. But the absolute leader in this nomination is TabGeo - 1400 requests per second under equal conditions, which is more than 1.5 times better than Sypex Geo.
')
Also, a small performance increase gives a smaller number of disk accesses, the comparison provided: one definition of the country - one launch of the script, showed that the minimum value of this parameter for TabGeo is from 1 to 3 disk operations, for Sypex Geo - 4 and the full outsider in this GeoIP is a comparison - from 23 to 52 per one initialization and one country definition by ip-address.

An important value is the memory size occupied by the script: TabGeo - 26 Kb, Sypex Geo - 110 Kb and GeoIP - 285 Kb.

From the presented data we can conclude that the most popular geo - location solution GeoIP is at the same time the worst for real projects. Sypex Geo - occupies an intermediate position in this hierarchy. Well, the absolute leader in almost all parameters (from the presented bases) is TabGeo .

Sites tested bases:
Tabgeo
Sypex geo
Geoip

Source: https://habr.com/ru/post/227183/


All Articles