
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:
Developer | Base | Update Date | Number of ranges, thousand | Size of base, Kb |
Geoip | GeoLite Country | 2014.06.03 | 93 | 688 |
Sypex geo | Sypex Geo Country | 2014.06.20 | 90 | 365 |
Tabgeo | tabgeo_country_v4 | 2014.06.20 | 200 | 998 |
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.
Developer | Base | Requests per second (median) |
Geoip | GeoLite Country | 460 |
Sypex geo | Sypex Geo Country | 910 |
Tabgeo | tabgeo_country_v4 | 1400 |

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:
TabgeoSypex geoGeoip