什么是停止机器战斗的最好方法,同时保持它们的一致性,以保持简单并减less单点故障?
外部架构师为面向服务的架构环境devise了一个架构。 他们将可用性确定为99.9%,相当于每年最多9小时的停机时间。 我在哪里可以find有关如何将其映射到物理体系结构的资源 ? 我们认为到目前为止我们需要的主要组件是: 一个Drupal CMS与其数据库(一台机器) API:授权,authentication,logging,pipe理,PubSub和学习logging存储LRS :(一台应用程序服务器) 一台用于存储的数据库服务器(LRS,日志,configuration文件) 这是一个500万个城市的市政环境。 没有关于并发访问要求和类似的东西的数据,但我宁愿不要在这个问题上走高端。 战略是开始精益,但强劲,如果需要扩大。 请您非常欢迎您提供更多的信息,或者对组件架构的第一步进行评论 – 或者您可能认为相关的任何内容。 谢谢。
我有一个相当大的Drupal网站坐在一个4GB的内存盒子上光油。 我曾经想过(希望?假设?)在Nginx / PHP-FPM之前站在Varnish的位置将会减轻PHP的负担,但是PHP似乎仍然非常活跃,并且我得到了更多的警告:内存已经超过了90%预计会得到。 我从根本上误解了什么Varnish? 我的期望是,它将caching完整的HTTP响应,只是caching它,如果所请求的URL在caching中,就不会向Nginx发送请求,更不用说PHP了。 然而,在和我所知道的有关这个话题的人们交谈的时候,我正在得到一些可能会指出的信息。 任何人都可以填补这些差距? 在Drupal站点中, 绝大多数stream量是匿名的,因此受到光油caching的影响,我们应该期望从Varnish中获得什么? UPDATE 根据请求,这里是我的configuration( default.vcl – 也在一个要点 ): backend default { .host = "127.0.0.1"; .port = "8080"; } acl purge { # Add local/internal server IPs "localhost"; "127.0.0.1"; } sub vcl_recv { if (req.http.User-Agent ~ "MS Search (5|6).0 Robot") { error 403 "Forbidden"; } if (req.http.User-Agent ~ […]
我们有一个生产Drupal服务器提供内容,但是当点击一个寻呼机链接时,有些页面被破坏。 发现URL正在被无法识别的关键字所改变。 例如, 对于URL www.foo.com/poems/case/index.html?search_api_views_fulltext=&page=2 url更改为 www.foo.com/poems/case/index.html/ cmd.php ?search_api_views_fulltext =&page = 2 同样,在过去几天,cmd.php有时会被/ contact和/www.googletagmanager.com/ns.html取代。 如下所示,点击链接时,Drupal日志获得了成功的GET。 从外观上看,我们怀疑是SQL注入。 你怎么看? www.foo.com/poem/case/index.html/contact?search_api_views_fulltext=&page=21&%3Bamp%2525252525253bamp%2525252525253b%2525252525253bamp%2525252525253bpage=1&%3Bamp%2525252525253bamp%2525252525253b%2525252525253bpage=1&%3Bamp%2525252525253bamp%2525252525253bpage= 3&%3Bamp%2525252525253bpage = 2&%3Bpage = 3 HTTP / 1.1“200 19997
我的Drupal安装程序显示所有到节点的链接都显示“找不到文件”错误。 pipe理员页面等都没问题,只是页面?q = node /# 我尝试使用Update.php来解决任何问题,但没有做到这一点。 任何其他的想法?
我有一个基于Drupal的网站,VPS有1GB内存和1Ghz处理器份额。 networking服务器是nginx以及php-fastcgi。 目前我正在使用10个nginx和13个php-fastcgi进程。 服务器负载大部分时间是高的,而一半的RAM没有被使用。 CPU使用率很less达到80%。 我尝试过一些其他的nginx / php-fastcgi组合,但是我不确定什么是最佳组合,因为我对表面下面发生的事情一无所知。 所以我很感谢你能分享你的经验或给我一些线索。
我注意到我们的Web项目(Drupal)在虚拟框中使用memcached时运行速度较慢。 如果没有使用memcached,页面加载时间会更快。 我没有注意到任何不自然的memcached行为。 虚拟的盒子是(使用stream浪汉): Debian挤压607 1个CPU核心(ICH主板驱动程序) 4G内存 SSD驱动器(ICH驱动程序) Drupal的具体设置是: $conf['cache_backends'][] = 'sites/all/modules/contrib/memcache/memcache.inc'; $conf['cache_class_cache_form'] = 'DrupalDatabaseCache'; $conf['cache_default_class'] = 'MemCacheDrupal'; $conf['memcache_key_prefix'] = 'oursite_'; 只是为了将其与本机(非虚拟化)环境进行比较 – 在同一个项目上,memcached提高了10-20%的性能。 任何想法? 有什么地方可以继续调查吗?
可以谷歌网站/应用程序安装在自己的基础设施,说Drupal或Wordpress可以吗? 我似乎无法find资源指向我这样做的方式。 欣赏任何指针。
最近我们在我们的服务器上configuration了Varnish,它已经成功安装了,但是我们注意到,如果我们在多个浏览器中打开任何页面,Varnish向Apache发送请求无关紧要。 如果我们在每个浏览器上刷新两次,它会创build相同页面的重复副本。 究竟应该发生什么: 如果任何页面被Varnishcaching,则当我们在浏览器中打开同一页面时,后续请求应该从Varnish本身提供,或者我们从不同的IP地址打开该页面。 以下是我的default.vcl文件 backend default { .host = "127.0.0.1"; .port = "80"; } sub vcl_recv { if( req.url ~ "^/search/.*$") { }else { set req.url = regsub(req.url, "\?.*", ""); } if (req.restarts == 0) { if (req.http.x-forwarded-for) { set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip; } else { set req.http.X-Forwarded-For = […]
任何关于如何实现与多个CMS共享虚拟主机群集的build议? 在我们的例子中,我们有2个Web服务器连接到共享存储。 如果我们想要托pipeWordpress,Drupal和Joomla网站,那么为每个CMS分别安装一个集群还是可以将它们全部安装在同一个共享卷上,让2个Web服务器(运行Apache)负责提供页面,而不pipe使用哪个CMS来创build它们?