每秒7000并发查询接口,跪求大牛

old范 发布于 2016/08/31 02:41
阅读 807
收藏 0

每秒7000并发,查询国家地区代码,调用本地GEOIP库

跪求高级大牛提供个解决方法

centos6.5  php5.3 ng1.6   4核8G Load average 20 左右,并发3000 ,php 进程20 3个ng进程无多余任何操作,就查询一个GEO库,并发经常出现404,怎么解决,大神快来优化一下吧


加载中
0
old范
old范
说好的,NG十万并发呢?
0
公孙二狗
公孙二狗

  1. 个人理解 GEOIP 库很少变化,比较合适使用缓存,所以可以利用分布式缓存例如 Redis,先把 IP 数据加载到缓存,查询时先从缓存查询,没有得话再到库里查询
  2. 一台机器不够,多上 2 台,使用集群(程序估计需要改)

先用 1,如果还不行就在一起用 2

0
zzuqiang
zzuqiang
1楼说的前期应该能满足你的要求,另外一块也可以考虑nginx的cache模块
0
wujingke
wujingke
直接openresty
0
猫哥-u
猫哥-u
GEO库是以什么形式存放,文本还是数据库?先找出慢在哪里,然后在改进
0
Eric_林
Eric_林
404 的原因看了吗?如果是阻塞不应该是404啊,首先看下ng的日志,有没有正常转发掉了,我觉得应该不是ng的问题,还是在php上,这个机子装2个docker,集群下呗,如果问题解决了,那应该是并发上,如果问题没解决是不是代码有问题
0
Tuesday
Tuesday

php能并发, GEOIP 不能呀.

建议将GEOIP 弄成100份, 然后调用结果, 缓存起来... 

返回顶部
顶部