性能及环境问题
在私有化部署过程中遇到的性能及环境相关问题,可以查看此文档进行解决。
若文档仍未解决您的问题,请提交工单联系百度的工作人员
性能问题
一.百度官方说可以达到20QPS,为什么我调用到10个并发就提示system busy?
这个是出于保障平响的角度设计的,并不影响QPS。并发是指同时发起请求的数量,一秒内进行五次10并发的请求,就是50QPS了,如果想了解并发与QPS的关系和区别,请点击查看GitHub文档
环境问题
容器docker问题
1.docker常用命令
docker ps -a #查看所有容器
docker restart (container_id)#重启container_id容器
docker exec -it (container_id) /bin/bash #进入到container_id容器
docker images #查看所有镜像
docker rm -f 容器ID #删除容器
2.Docker安装过程中发生冲突
Docker需要使用从百度下载的安装部署包中的Docker,如果您本地已有Docker,需要确认Docker是否可以卸载。(如果Docker中已经装了服务就先保存下来移植到新建的部署包中的Docker中)
3.部署过程中出现docker出现no space left on device的报错
方法1:在/etc/docker/daemon.json中添加如下,然后重启docker。注意检查配置文件的json格式不能出错。
{
"graph":"/home/work/docker",//路径可修改,要保证有足够的空间
"storage-driver":"overlay2"
}
方法2:
vim/usr/lib/systemd/system/docker.service
在ExecStart=/usr/bin/dockerd后面加上--graph /home/baidu/docker,保存
systemctl daemon-reload
systemctl restart docker
4.安装docker-ce时,依赖包冲突问题
docker-ce安装出错,出现需要安装依赖的版本比系统自带版本低的情况,导致安装失败,通过控制台日志可以看到Installed:xxx的已安装版本信息,目前常见的依赖冲突有:audit-libs-2.7.6-3.el7.x86_64,libsemanage-2.5-8.el7.x86_64, policycoreutils-2.5-17.1.el7.x86_64,如下图所示:
解决方案:
a. 进入到/home/baidu/docker-packages目录,执行 rpm -Uvh –oldpackage {待安装的组件名.rpm}安装老版本,待安装的版本从日志Requires:xxxx(Local_yum)中获得;
b. 如果执行rpm -Uvh –oldpackage {待安装的组件名.rpm}失败,查看日志,如果是出现日志{待安装的组件名} is needed by xxxxx,说明要删除版本被依赖着,不能直接删除,我们需要判断下依赖删除版本的服务是否在我们的本地源下.
如果是则安装替换的服务和依赖的他的服务,通过命令:
rpm -Uvh –oldpackage audit-libs-2.7.6-3.el7.x86_64.rpm audit-2.7.6-3.el7.x86_64.rpm 安装(自行替换红色的组件名);
如果不是我们的本地源需要的,直接通过命令:
rpm -ivh --force --nodeps {待安装的组件名}进行替换版本,注意该操作有风险,需要谨慎判断。
5.部署过程中出现docker出现no space left on device的报错
两种方法,在/etc/docker/daemon.json中添加如下,然后重启docker。注意检查配置文件的json格式不能出错。 1、
{
"graph": "/home/work/docker",//路径可修改,要保证有足够的空间
"storage-driver": "overlay2"
}
2、
vim /usr/lib/systemd/system/docker.service
在ExecStart=/usr/bin/dockerd后面加上--graph /home/baidu/docker,保存
systemctl daemon-reload
systemctl restart docker
IP地址问题
1.IP地址发生变化的问题
(1)需要修改以下鉴权服务和人脸应用服务的IP地址
鉴权服务IP地址修改:/home/baidu/work/c-offline-security-server/conf/server.conf (修改后需要重启鉴权服务)
人脸服务IP地址修改:/home/baidu/work/face-server/project-conf/easypack_init.sh
人脸服务连接数据库IP地址修改:/home/baidu/work/face-server/project-conf/sconf/service.conf中MYSQL_SVC_SERVICE_HOST项
注:以上鉴权服务的修改针对离线鉴权服务有效,如果您使用的是在线BCC云服务器,请联系百度工作人员进行鉴权地址修改
(2)把原来的容器删掉
docker ps -a #查看所有容器
docker rm -f 容器ID #删除容器
(3)重新生成容器
cd /home/baidu/work/face-server/project-conf/
bash multi_docker_start.sh
日志相关问题
1.如何查看日志
- 查看docker容器启动日志:
docker logs (dockerid)
- 查看人脸服务启动日志:
查看容器id:docker ps -a
然后进入容器查看日志: docker exec -it (dockerid) /bin/bash
容器内日志路径:
/home/idl-face/sys_start.log
/home/idl-face/feature-frame/log/service.log.wf
2.修改清理日志时长定时任务(默认为15天定期清理)
(1)进入容器
(2)切换idl-face用户
(3)执行命令crontab -e 修改天数