我来自Web开发人员背景,一直在使用CakePHP框架构build我的PHP应用程序。 当我开始在应用程序所在的Amazon EC2实例上进行ab(Apache Bench)testing时,出现了这个问题。 即使我正在运行一个c1.medium实例(2个内核,2GB内存),我的平均页面加载时间也非常可怕,我想我正在做的一切都是正确的。 我会跑: ab -n 200 -c 20 http://localhost/heavy-but-view-cached-page.php 结果如下: Concurrency Level: 20 Time taken for tests: 48.197 seconds Complete requests: 200 Failed requests: 0 Write errors: 0 Total transferred: 392111200 bytes HTML transferred: 392047600 bytes Requests per second: 4.15 [#/sec] (mean) Time per request: 4819.723 [ms] (mean) Time per request: 240.986 […]
所以这里有一个给你 任何想法,以缩短连接到MySQL数据库所需的时间? 我想知道的原因是因为我发现连接到数据库只是增加了一秒钟到页面的渲染,这似乎有点长,考虑到Apache和MySQL在同一台机器上运行,并且mysqli_connect连接到本地主机。 当连接需要一秒时,我最终所做的任何查询都不会在渲染/加载时间上增加大量时间,这真是太遗憾了。 任何缩短打开连接所需时间的方法?
目前我的网站有caching控制设置为JavaScript库和图像,并caching他们一个星期。 我想知道什么最佳做法,我应该导致我的网站在一周内重新启动。 所有的图像,JavaScript,CSS文件将被取代。 我正在考虑的几个策略: 将ExpiresByType更改为下一周的一个小时,以确保返回的访问者不会有较慢的速度,然后在启动之前1.5小时,将caching控件更改为零。 将ExpiresByType更改为零直到启动。 从htaccess中删除所有caching控件,直到启动,并让浏览器处理caching。 对上述策略或者我没有考虑过的事情有什么想法? 谢谢 这是我的根.htaccess。 适用于图像和javasript库: ExpiresActive on ExpiresByType image/jpg "access plus 1 week" ExpiresByType image/png "access plus 1 week" ExpiresByType image/gif "access plus 1 week" ExpiresByType image/jpeg "access plus 1 week" ExpiresByType text/javascript "access plus 1 week" ExpiresByType application/x-javascript "access plus 1 week" ExpiresByType application/javascript "access plus 1 week" […]
最近我们在我们的服务器上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 = […]
我有一个服务器,其所有用户在他们自己的用户下:组例如,用户somename有一个文件夹/ home / somename,并且是somename:somename。 现在,似乎这个用户有一个问题,从网上更新他们的WordPress,并不断要求FTP的细节。 我已经将这个问题追溯到www-data无法访问用户文件的事实。 http://ardeearam.com/solved-wordpress-asking-for-ftp-credentials-when-upgrading/ …sudo chown -R www-data wordpress/… 我如何允许或添加www数据到somename权限?
有人能指点我一个Apachenetworking农场的性能监控和容量pipe理指南吗? 其他问题提出了一些工具,但我也有兴趣了解各种性能参数,如何调整它们,configuration设置之间的折中等。 Web场大多是Weblogic层的反向代理,使用weblogic wlproxy在Weblogic服务器之间进行负载平衡。 它终止了SSL连接,除此之外,除了传递weblogic和weblogic外,其他方面都做得很less。 (硬件)负载均衡器面向Web服务器。 我已经看到了这个 🙂
好吧,所以我有一个服务器在工作,我正在build立网站。 它有一个WordPress根站点,一个phpBB论坛在一个子目录中,另一个目录中有一个支持站点。 我能够访问phpBB和支持网站,但不能访问wordpress。 服务器:带有LAMP的Ubuntu 11.04。 Mod重写启用。 结构:/ var / www /; / var / www / onlyus /; 在/ var / WWW /支持/ Perms:644处的文件,755处的目录。在777selectcaching,上传等目录.htaccess: <Directory "/var/www"> ///woops, little error there (didn't fix it though) Options +Indexes FollowSymLinks +ExecCGI AllowOverride AuthConfig FileInfo Order allow,deny Allow from all </Directory> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ […]
我试图加快HTTPs网站使用Apache作为代理和caching。 我有自己的ssl证书的代理,但都显示在未caching的请求日志。 我宁愿这样做与Apache,但如果他们是别的东西,我可以使用代理caching网站,这将是伟大的。 我的apache conf的相关部分在下面显示我当前的caching尝试。 谢谢 <VirtualHost *:443> ServerName www.fakegoogle.com SSLProxyEngine On SSLProxyCheckPeerCN Off ProxyPass / https://www.google.com/ timeout=30 Keepalive=On ProxyPassReverse / https://www.google.com/ ProxyAddHeaders Off DocumentRoot /var/www/ SSLEngine on SSLCertificateFile /etc/apache2/sslCert/fakegoogle.com.crt SSLCertificateKeyFile /etc/apache2/sslCert/fakegoogle.com.key SSLCertificateChainFile /etc/apache2/sslCert/fakegoogle.com.bundle.crt <IfModule mod_disk_cache.c> ProxyRequests on CacheRoot proxyCache CacheLastModifiedFactor 0.3 CacheEnable disk / CacheIgnoreHeaders None CacheRoot "/var/cache/mod_proxy" CacheDirLevels 3 CacheDirLength 5 CacheIgnoreCacheControl On […]
我正在Amazon AWS中实施REST服务。 内部servlet监听8080和9000等多个端口,configuration为反向代理的Apache通过端口443上的https使用适当的URL模式为它们提供服务。 Apache服务器处理用户身份validation和SSL安全性,而内部端口服务于所有请求而无需身份validation。 当然,我想阻止这些内部servlet从外部获取stream量。 我已经安装了一个networkingACL,并使用亚马逊指南的允许版本进行configuration:返回stream量的端口80,443,22和49152-65535的入站stream量,以及所有端口允许的出站stream量。 例如,Jenkins服务器无法从端口22上的github上使用pip或克隆仓库获取软件包。当为入站stream量启用端口1024-65535时,问题得以解决,但是这些设置暴露了内部servlet。 为什么我的呼出电话被阻止? 使用单个VPC可以解决这个问题吗?
我使用默认的php.ini,然后在我的PHP脚本(Drupal的local.settings.php)中设置ini_set('error_reporting','E_ALL&〜E_NOTICE&〜E_STRICT'); 根据文件,这意味着“显示所有的消息减去通知和严格的警告”。 但在我的情况下,它仍然显示严格的警告! 我不知道为什么,因为我明确表示“〜E_STRICT”。 如果我评论一下,那么我会看到严格的警告。 所以这意味着从php.ini中的默认值“E_ALL&〜E_DEPRECATED&〜E_STRICT”没有完成它的工作,因为它也有“〜E_STRICT”,但是我仍然看到严格的警告。 在Debian 6上,有一个Suhoshin补丁,它在PHP脚本中控制着php_ini的使用。 特别是当你试图获得比定义的上限更多的内存。 现在在debian 7上没有Suhoshin或其他可能控制php_ini的安全元素。 那么可能会导致php_ini不被执行? 是否有一些新的variables/设置/其他需要检查?