Tag: 性能

在RESTful API中使用Docker容器来执行不可信代码的安全性和性能限制是什么?

我正在开发一套用于提供一些数据分析的RESTful API。 在调用API时,客户端也将能够传递脚本函数作为附加参数(并且这些函数将在分析pipe道期间执行)。 数据本身将从各种来源(如Amazon S3,客户端的Dropbox或Google云存储)中检索。 我希望能够在一个非常受控和隔离的环境中执行客户端脚本。 因此,我想为每个客户端请求实例化一个Docker容器,并在该受控环境中执行处理pipe道以及客户端脚本。 所以基本上,RESTful端点会dynamic实例化Docker容器以处理客户端请求。 完成后,处理结果将被推回到Dropbox / S3 / Google云端存储,此时对应的docker容器也将被移除或重新分配给另一个请求。 编辑1 : 从RESTful API的angular度来看,客户端请求将被接受(HTTP 202)并被推送到一个处理队列中。 处理队列中的每个请求都将在未来的某个时刻依次分配给docker集装箱。 客户端将能够使用另一个RESTful端点查询处理的状态。 编辑2 :这是一个链接解释类似的方法: https : //medium.com/aws-activate-startup-blog/sandboxing-code-in-the-era-of-containers-294edb3a674#.19882q2g5 我的问题: 这种方法对性能的影响是什么? 换句话说,系统地创build用于处理的docker容器而不是使用工作进程的性能成本是多less。 这种方法是否真的增加了额外的安全性?

提高NGINX服务器在工作节点上的性能

我使用Docker Services在单个工作站节点上部署了10台NGINX服务器。 10服务1机器 – 每个服务给我X性能。 当我删除了9个服务时,剩下的一个服务的性能仍然是X. 1服务1机器 – 仍然给我相同的X性能。 为什么在我移除其他服务时,服务的性能并没有提高? 我正在使用apache基准testing我的性能:'ab -n 1000 -c 10',查看每秒请求数。 他们总是保持在1200左右,我使用我的工作者节点的任何configuration。

这个Docker / NGINX / Node设置实际上是否按照预期进行了负载平衡?

我正在使用Docker / Node / Nginx设置一个Web服务器。 我一直在玩Docker-compose中的设置,并提出了两个工作解决scheme – 但在负载平衡方面,其中一个可能太好了,无法成立(因为它似乎允许我通过没有创build额外的图像/容器)。 我正在寻找validation,如果我所看到的实际上是合法的,多个图像等不是负载平衡的要求。 解决scheme1(无附加图像): 泊坞窗,compose.yml version: '3' volumes: node_deps: services: nginx: build: ./nginx image: nginx_i container_name: nginx_c ports: – '80:80' – '443:443' links: – node restart: always node: build: ./node image: node_i container_name: node_c command: "npm start" ports: – '5000:5000' – '5001:5001' – '5500:5000' – '5501:5001' volumes: – ./node:/src […]

PHP显着慢docker,然后KVM

为什么php在docker上太慢了,相反,在Docker上运行的Java和C应用程序稍快于kvm 将docker 1.12和kvm中的php7.1和php5.5的性能与yii2,yii1,predis,guzzle进行比较。 使用Nginx + php7.1-fpm / php5.5-fpm 两台主机服务器都是32核心/ 3.1GHz的CPU和128GB的Mem。 docker和kvm都使用4核心和8GB Mem。 结果表明kvm上的tps是docker上的tps的2倍左右。 喜欢 : php7.1+docker+yii2 : 2500+ tps php7.1+kvm+yii2 : 5000+ tps php5.6+docker+predis: 1100+ tps php5.6+kvm+predis: 3100+ tps 我在Docker论坛,博客或者stackoverflow上阅读了很多post,但没有find任何解决scheme来改善这种情况。

Docker与远程MySQL服务器的性能下降

与Docker上的远程MySQL服务器连接和执行查询时,性能下降。 MySQL服务器正在我们的本地networking上运行。 它不在一个容器中运行。 我运行这个PHP脚本来衡量性能。 结果: 在我的MacBook上使用本地PHP安装 : Connected 500 times: 0.68756985664368 seconds Executed 500 queries: 0.82846784591675 seconds Executed 500 'real' queries: 1.4414708614349 seconds 在同一台MacBook上的Docker容器中 : Connected 500 times: 1.2464208602905 seconds Executed 500 queries: 1.4395787715912 seconds Executed 500 'real' queries: 2.5721569061279 seconds 这种差异exception大吗? 什么会导致性能下降? 我可以采取哪些措施来提高性能? 我GOOGLE了很多,找不到任何知名的瓶颈。 我对软件开发的了解比我对networking和容器的了解要多得多,所以我不知道从哪里开始。 任何帮助是极大的赞赏。

docker工人:每个服务一个共享的图像或单独的图像?

我想找出最有效的方法(内存和空间)来运行复杂的依赖关系的多个服务。 假设我们有一个包含3个服务的项目: 服务S1仅使用库A和B. 服务S2仅使用库B和C 服务S3仅使用库A和C 所以,如果你为每个图像创build一个单独的图像,你将会得到这个结构: S1 高山层 A和B库 S2 高山层 B和C库 S3 高山层 A和C库 库层不共享任何文件(虽然实际上共享库)。 分享资源的最佳策略是什么? 所有3种服务都可以使用一个图像吗? (将库A,B,C存储在一个图像层中) UPD 我们在一台机器上运行所有的服务,而不是在一个集群上运行 更新2 这里是一个例子 (扰stream板:图层不共享)

Docker教程问题

在https://docs.docker.com第三部分“服务”上做一些教程,面对一些奇怪的事情。 完成所有步骤,直到testing部署堆栈…为什么我新部署的堆栈比我在教程的前面部分中运行的容器慢得多…试图更改docker-compose.yml中的副本和cpus …仍然没有。这是我的结果: 已部署堆栈的响应: curl -o /dev/null -s -w %{time_total}\\n http://localhost 40.049 仅从运行容器(教程第2部分)的响应: curl -o /dev/null -s -w %{time_total}\\n http://localhost 0.005 我在Windows 10中由VMWare托pipe的Ubuntu 16.04上。

提高docker化的OrientDB的性能

我们将实施一个推荐系统用于电子商务门户。 我们将所有系统处理的数据存储在一个dockerized OrientDB中,我们的存储types是'plocal'。 为了有效,推荐系统必须在尽可能短的时间内提供答案,所以当我们从数据库中获取数据时,我们希望获得最佳的性能。 我们已经对这些查询进行了优化,我们想知道是否有其他解决方法来改善我们的情况。 任何build议? 在使用docker的情况下使用orientDB,有一些可以采用的具体改进? 增加docker容器的RAM是有用的吗? 其他存储types的重点是什么?

性能 – Docker容器vs Web服务器

我听到很多关于Docker容器的积极的事情,但是找不到任何好的文章,显示在Web服务器托pipeASP.NET MVC应用程序与在Docker容器托pipe同一个应用程序之间的性能不同。 例如,我有一个服务器与下面的规格,我已经托pipeASP.NET MVC应用程序直接在这台服务器。 至强E5 2630四核128 GB RAM 如果我在同一台服务器上安装了多个Docker容器和IIS,应用程序的执行效果会更好吗(就服务/处理并发请求数而言)? 感谢您的回应!

运行在Docker容器中并在Kubernetes上运行的dotnet核心Web API

调用Docker服务时获得更好的TTFB 我正在运行一个使用DotNet核心1.1的Web API应用程序,在部署在Kubernetes上的Docker容器中运行它。 我在IIS上部署了完全相同的API(Azure上的虚拟机)(IIS VM和Kubernestes主机和代理具有相同的规格,并且都连接到同一个数据库服务器) 部署在IIS上的API请求速度很快,如下图所示 在Docker中部署在Kubernetes上的API请求很慢 这里是我的Dockerfile: FROM microsoft/aspnetcore:1.1 ENV ASPNETCORE_ENVIRONMENT Docker WORKDIR /app EXPOSE 80 COPY . /app/ ENTRYPOINT ["dotnet", "XXXAPI.dll"] 什么可能导致这种行为? 我到处都找不到有关Docker核心性能的明确文档。