Articles of PostgreSQL

loggingDjango网站的在线用户快照(postgresql后端,nginxnetworking服务器)

在我的Django + postgresql网站上,我需要公开显示所有网站在某个时间点(这是一个社交网站)。 我该怎么做呢? 例如,是否有一种方法可以枚举在前10分钟内击中我的nginx web服务器的所有login用户? 像这样的东西可以工作。 我是一个初学者,现在正在寻找一个可行的解决scheme。 目前为了实现这一点,我将会话存储到数据库, 使用外部库来使会话可枚举。 这使我可以查询有多less唯一用户在某个时间点上线。 但是这个scheme造成了很多不必要的数据库stream量。 因此,日志和修剪日志变得无效。 此外pgFouine告诉我会话相关的数据库调用是我的网站目前最大的性能瓶颈。 这里有一个build议的解决scheme,但它使用数据库。

我怎么能删除需要两个docker集装箱一起使用桥接networking?

我有三个docker集装箱: 1:在端口8080上可访问的nginx容器,不使用桥接networking 2:使用桥接networking在端口8080上运行tomcat的xwiki容器 3:承载xwiki数据库的Postgres容器,可以使用与xwiki容器相同的桥接networking在端口5432上访问 我想能够设置nginx反向代理并加载一个url,如http:// site-root / xwiki的xwiki网站,但它不能做到这一点,因为它不在同一个桥接networking,我得到一个不路由到主机错误… 所有的主机都可以从远程主机使用docker hosts ip和相应的容器端口访问… 我已经创build了不使用桥接networking来testing这个xwiki和postgres容器,但是xwiki tomcat服务器失败,因为xwiki无法findpostgres服务器,我得到下面的错误作为一个tomcatexception: java.net.UnknownHostException: postgres-db-server 是否消除了为xwiki和Postgres容器使用桥接networking的需要,并使用docker hosts IP和它们各自的端口号进行通信? 我想我可能需要编辑xwiki容器中的tomcatconfiguration,以便它指向使用docker hosts IP和postgres默认端口的postgres服务器… 任何人都可以给我一个想法,如果这听起来像是正确的解决scheme,或者如果我缺less关于桥接networking的需要的东西? 我意识到一个可能的解决scheme是将nginx容器设置为使用相同的桥接networking,但我也希望nginx服务能够反向代理在docker主机上运行的node.js服务器…(不是通过docker) 我应该只是containerise节点和运行所有容器使用相同的桥接networking,逻辑上应该消除这个问题,但我担心,它可能会导致其他问题下线… docker主机在Centos 7上运行 用于手动运行容器的命令如下所示: Nginx的 docker run -dti –name nginx-dev –hostname nginx-dev -p 80:80 -v /nginx/www:/usr/share/nginx/html:ro -v /nginx/conf:/etc/nginx -P -d nginx Postgres的 docker run –net=xwiki-nw –name postgres-db-server -p 5432:5432 -v /postgres/data:/var/lib/postgresql/data -e […]

消毒面向公众的API的最佳实践?

作为我们服务的一部分,我们正在构build公开可用的API,让用户在我们的平台上执行简单的任务(主要用于自动化目的)(如评论,完成任务和创build新任务)。 API是基于HTTPS的,并且需要使用您的login名和密码以呼叫/login的forms进行授权才能接收令牌(可在您的configuration文件中使其失效)。 如果重要,我们使用金字塔,postgresql和nginx。 这是我的第一个这样的项目,我想知道如何保证这个东西不会吃掉我们所有的传输或处理能力(其中一些API函数非常重)。 我想在一个例子中考虑这个问题,在这个例子中,有人在他的脚本(使用我们的API)中犯了一个小错误,并且会在同一个任务下每秒发表评论(或者列出来自这个任务的所有评论)。 2天。 如果我强制所有通过caching读取(例如,有效的,例如,接下来的10秒),所以它会打我们的memcached服务器,而不是postgres基地 – 这是足以卸载这个问题(所以其他用户不会受到影响)或只是愚蠢? 如果我会检查某种计时器,并等待至less5秒,然后再进行写入(写入之间5秒钟) – 是否会好起来,或者我只是用定时器检查来终止我们的服务器? 我想这更多的是关于消毒公共API的最佳实践的问题,所以它不会咬它的创造者。 你怎么做呢?

如何:用VirtualBox运行Ruby on Rails 4,Postgres,Unicorn,Nginx和OS X 10.10以上的端口转发设置Vagrant

我把这个作为我所遇到的资源汇编贴出来,因为那里的指南并没有迎合由Vagrant提供的虚拟化和由此可能出现的错误。 因此,我会参考很多材料,因为其他人已经比我更好地解释和格式化了这些材料,而只是replace上述材料中的步骤,使其在“stream浪汉”下工作。 在实际的部署环境中,链接的资源就足够了(这篇文章仅适用于Vagrant): Vagrant'入门'文档 (Vagrantup) 在Ubuntu 14.04上通过rbenv安装Ruby (DigitalOcean) 在Ubuntu 14.04上使用Rails,Unicorn和Nginx进行部署 (DigitalOcean) Vagrant触发器解释 工作Vagrant触发器端口映射

服务器安装卡住了错误:在任何来源(Bundler :: GemNotFound)中找不到pg-0.17.1

尝试使用nginx和Passenger在CentOS 6.5上运行Ruby 2.0.0。 到目前为止,由于错误没有运气: http : //prntscr.com/3egoca 这是我用来安装用于Ruby的PostgreSQL服务器的过程: sudo vi /etc/yum.repos.d/CentOS-Base.repo # In both [base] and [updates] sections I added the following line to the file above: # exclude=postgresql* sudo rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm sudo yum install postgresql93 postgresql93-devel postgresql93-server postgresql93-libs postgresql93-contrib sudo /etc/init.d/postgresql-9.3 initdb sudo service postgresql-9.3 start sudo chkconfig –levels 235 postgresql-9.3 on # […]

django mod_wsgi,nginx MySQL或Postgres

我正在寻找你认为最好的社区? Django运行以下。 Django,mod_wsgi和MySQL Django,mod_wsgi和Postgres Django,nginx和MySQL或者Django,nginx和Postgres ?

PostgreSQL性能调优和最大连接(实际上)

在过去的几个星期里,我一直在调整和处理PostgreSQL,我将在下一个项目中使用它。 我的规格是: DigitalOcean 8核16GB SSD x2(一个用于数据库,另一个用于Web) Centos 7 PHP5,Nginx 我试过的东西: Pgtune PgBouncer&Pgpool(连接池和负载平衡) 调整php-fpm&nginx(worker_processes,worker_connections,pm.max_children等) Linux文件句柄限制和套接字调整。 我正在通过调用ApacheBench插入的网页来testing它。 这是否实用? ab -n 17500 -c 1750 -r http://example.com/insert.php 到目前为止,我只能得到它同时处理1700-2000连接,而不会丢失任何事务(通常过早closures连接或资源暂时不可用在nginx错误日志或抱歉,太多的客户端已经由PostgreSQL返回)。 我尝试了TCP / IP和unix socket for php-fpm,TCP / IP似乎比unix socket更具可扩展性。 PHP可以使用连接池吗? 由于我从Web服务器调用数据库的方式仍然是一样的(大量的连接到pgpool或pgbouncer)。 我的目标是同时处理至less10,000个交易。 什么是决定因素? 这是Web服务器之间的数据库(PHP的FPM)或PostgreSQL本身的瓶颈? 通常,大公司(PHP web应用程序)如何处理这样的数量?

Nginx作为负载均衡器的瓶颈?

我们有一个stream行的iPhone应用程序,人们对决一个Wordfeud。 我们今天有近1 M的注册用户。 在高峰时段,应用获得了非常长的响应时间,而且还有相当多的超时时间。 我们试图find瓶颈,但是很难做到这一点。 所有服务器上的CPU,内存和I / O都低于50%。 这个问题只在高峰期出现。 我们的设置 1 VPS with nginx (1.1.9) as load balancer 4 front servers with Ruby (1.9.3p194) on Rails (3.2.5) / Unicorn (4.3.1) 1 database server with PostgreSQL 9.1.5 数据库日志没有显示足够长的请求时间来解释nginx错误日志中显示的所有超时。 我们还试图直接针对前台服务器构build和运行应用程序(在所有其他用户都在运行负载平衡器的高峰时段)。 令人惊讶的是,即使在高峰时段,绕过负载平衡器的应用程序也很快成为子弹。 NGINX设置 worker_processes=16 worker_connections=4096 multi_accept=on LINUX设置 fs.file-max=13184484 net.ipv4.tcp_rmem="4096 87380 4194304" net.ipv4.tcp_wmem="4096 16384 4194304" net.ipv4.ip_local_port_range="32768 61000" 为什么应用程序绕过负载平衡器这么快? nginx可以作为负载均衡器成为瓶颈吗? […]

将memcached放在db或web服务器实例上?

对于我的基于Drupal的网站,我有一个三个实例分别运行nginx,postgresql和solr的体系结构。 我想安装Memcached。 我应该把它放在nginx或postgresql服务器上吗? 什么是性能影响?

使用DotCloud使用apache + mod_wsgi + postgresql + nginx + memchache部署Django应用程序

我是Django开发和整体Web应用程序开发新手,但我是一个程序员。 我想知道在DotCloud上部署django应用程序的步骤,该应用程序将使用mod_wsgi在apache服务器上运行。 Nginx将用于提供媒体文件,而Postgresql将用于数据库。 这将全部与memchache一起使用。 本教程: http : //dev.lethain.com/the-django-and-ubuntu-intrepid-almanac/基本上做我想做的,但我想弄清楚如何使DotCloud得到这个。 我不觉得Dotcloud文档已经足够完整,可以提供必要的信息来完成这个任务,所以希望有人能够提供信息。 感谢您的帮助和合作。 我很感激。