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

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

The first thing we will do is compare the bases:
DeveloperBaseUpdate dateNumber of ranges, thousandBase size, Kb
GeoipGeoLite Country06.06.03.0393688
Sypex geoSypex geo country06/06/2090365
Tabgeotabgeo_country_v406/06/20200998

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

And now we will directly proceed to testing the performance of different databases. The testing feature was determining the time of the script to determine one ip-address per run, then the data was interpreted in the number of runs per second.
DeveloperBaseNumber of requests 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 it is very bad, and I want to note that MaxMind's GeoIP2 is not a way out of this situation (this is more an information base, than the base for geolocation).

The silver medalist of this competition is the base and driver from Sypex Geo - 910 calls per second, which is two times better than the results shown by GeoIP. But TabGeo is the absolute leader in this nomination - 1400 requests per second under equal conditions, which is more than 1.5 times better than Sypex Geo.

Also, a small performance increase gives fewer disk accesses, a comparison provided that: one country definition - one script run showed that TabGeo has the minimum value for this parameter from 1 to 3 disk operations, Sypex Geo has 4 and a complete outsider in this the comparison is GeoIP - from 23 to 52 for one initialization and one country definition by ip-address.

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

From the presented data it can be concluded that the most popular solution for geo-location GeoIP- It is at the same time the worst for real projects. Sypex Geo - takes an intermediate position in this hierarchy. Well, TabGeo is the absolute leader in almost all respects (from the presented databases) . Test

Sites Sites:
TabGeo
Sypex Geo
GeoIp

Also popular now: