私はアプリケーションに適切なGeoIPデータベースを見つけようとしてきましたが、私が知る限り、MaxMind Cityがおそらく最高です(間違っている場合はお知らせください)。私は現在、英国では実際には正確ではない無料バージョンを試していますが、テスト目的で使用できます。
トピックに戻ります。
私たちのアプリはPHPで書かれており、最終的には大量の着信トラフィックが発生します。GeoIPデータベースを使用する理由は、ページが読み込まれるたびに都市、地域、国を表示し、特定の訪問者のデータをmysqlデータベースに保存する必要があるためです。そこで、ページリクエストごとにバイナリデータをロードすると、サーバーが大量のRAMを消費し、処理速度が上がると考え始めました。そのため、RAM内にキャッシュしてPHPで処理できるかどうか疑問に思っています。これは、26Mbであるためです(それほど多くないように思われるかもしれません)が、それでも1秒あたり数千のページリクエストを取得し始めると、明らかに避けたいパフォーマンスの低下につながります。
サーバー:
プロセッサー:16 GHz(8 x 2 GHz)
RAM:16384 MB
HDD:400 GB
Apache + Nginx + Varnish、PHP5.3、MySQL5.1
私たちは大規模なアプリ開発にまったく慣れていないので、一般的なパフォーマンスを改善する方法について何か提案がある場合、または私たちのケースのパフォーマンスの向上に関連する他のヒントがあれば、私に知らせてください。
ありがとう!