我试图设置一个新的服务器上运行debian6,并试图使其在负载下平稳工作。 我使用了一个WordPress的网站作为testing对象,并尝试了http://blitz.io上的configuration。 当我增加了从50到200多个超时的mysql max_connections开始发生。 但在50,没有超时和非常好的响应时间。 nginx的configuration是好的,我调整了configuration,所以我没有看到错误。 所以我认为它与my.cnf的其他configuration选项有关。 我读了一些关于选项,但仍不能find什么max_connections问题。 顺便说一句,服务器有16GB的内存和一个罚款i7的CPU。 这里是目前的my.cnf [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] wait_timeout=60 connect_timeout=10 interactive_timeout=120 user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking bind-address = […]
我在我的LAMP(hp)堆栈上有以下问题,我不时得到Segmentation fault 。 所以我在我的Debian Squeeze做了一个核心转储,我希望它能告诉我一些东西,但它并没有告诉我什么: Reading symbols from /usr/sbin/apache2…Reading symbols from /usr/lib/debug/usr/sbin/apache2-mpm-prefork…done. (no debugging symbols found)…done. Core was generated by `/usr/sbin/apache2 -k start'. Program terminated with signal 11, Segmentation fault. #0 0x00007f479782ca9d in ?? () (gdb) bt full #0 0x00007f479782ca9d in ?? () No symbol table info available. #1 0x00007f4700000002 in ?? () No symbol […]
首先:如果单独执行,PHP的virtual()以及Apache的mod_negotiation工作正常。 但是当virtual()引用需要协商的文件(例如Multi-Lang)时,我遇到了麻烦。 用一个简单的例子说明最简单: 在/texts/我放置两个文件: example.html (内容: <P>This is English</P> )和example.html.de ( <P>Dies ist Deutsch</P> )。 现在我们来看一个PHP脚本的例子: <HTML><HEAD><TITLE>Example</TITLE></HEAD><BODY> <? virtual("/texts/example.html"); ?> </BODY></HTML> 这工作正常,输出如预期: <HTML><HEAD><TITLE>Example</TITLE></HEAD><BODY> <P>This is English</P> </BODY></HTML> 但是现在我将virtual()调用改为virtual("/texts/example"); ,我的首选语言设置为德语。 虽然谈判select了正确的目标,但是输出却是混乱的: <P>Dies ist Deutsch</P> <HTML><HEAD><TITLE>Example</TITLE></HEAD><BODY> </BODY></HTML> 同样:在上面的代码中唯一改变的是virtual()调用的参数。 这些文件在我的其他机器上运行了大约10年,只是在我的新机器上开始了这个疯狂的东西: PHP版本:5.3.10(在工作机器上:5.2.4) Apache2版本:2.2.22(在工作机器上:2.2.8) 任何想法在这里可能会出错?
我有一个Joomla网站,每隔一段时间,当我通过表单提交的东西,我得到一个HTTP 413错误: 请求的实体太大 请求的资源/index.php不允许POST请求的请求数据,或请求中提供的数据量超过容量限制。 在我得到的error.log文件中: 无效的Content-Length,referer:[site] /index.php 这似乎与请求的实际大小没有任何关系,原因如下: a)我修改了Apache和PHP的configuration。 在Apache中,我尝试增加LimitRequestBody,并在PHP post_max_size,max_input_vars,memory_limit,甚至upload_max_filesize。 每个值都远远超出了发生错误的典型请求中发送的值。 b)这个错误是随机popup的,经常只是刷新就可以让我通过。 c)我检查了Fiddler中的请求,确保一切都正确,标题中指明的内容长度和请求本身的内容。 一切似乎都是按顺序的。 奇怪的是,当我通过Fiddler怨恨完全相同的请求时,我从来没有得到错误。 看来我只能通过浏览器重新创build它。 所以我在我的智慧结束在这里。 我甚至不知道在哪里寻找问题了。 我不知道它是Apache还是PHP(尽pipe我在PHP错误日志中找不到任何东西,所以也许这意味着Apache更可能是罪魁祸首?),或者PHP,或者特别是我的Joomla站点(我的赌注在Joomla上,直到在testing脚本上重新创build了一个错误,并且有一个非常基本的post表单,尽pipe它在Joomla网站上popup得更多)。 如果有人能就此提出任何build议,我将非常感激!
我有一个debian与apache2和php5-cgi运行挤压。 请参阅我的munin中的以下统计数据: http : //imageshack.us/photo/my-images/545/multipscharts.png/ 我从昨天开始运行这些每个进程的统计信息,我很惊讶地发现php这样的密集使用以及apache进程的高内存使用。 更多数据:avg(1day)apache2:30个繁忙的服务器,9个空闲Avg apache访问:340 /分钟 现在,我想知道如何减lessphp的CPU使用率和/或Apache的内存使用量。 请注意,我已经通过nginx服务器几乎所有的静态文件(这不是在这些统计数据)。 另外,我显然正在使用mpm_prefork_module。 我的apache2的一般设置如下所示: LockFile ${APACHE_LOCK_DIR}/accept.lock PidFile ${APACHE_PID_FILE} Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule> HostnameLookups Off Include mods-enabled/*.load Include mods-enabled/*.conf Include conf.d/ Include sites-enabled/ GracefulShutDownTimeout 3 AddOutputFilter INCLUDES .shtml AddType text/html […]
我最近搬到了一个新的服务器,我正在经历非常高的PHP5-CPI。 我正在运行一个论坛,每20分钟可容纳450人。 我的论坛一个月跑了很长时间(近7个月,没有投诉)。 我试图找出是什么原因造成的,因为我已经雇佣了一个人来检查代码中是否有任何内存泄漏(这是SMF),并且他在减less查询方面做了很好的工作。 这是一个APACHE问题吗? 这可能是由APACHE错误configuration引起的吗? 高内存导致我的会话表和日志表中断,导致更高的内存使用率。 让我知道如果你能帮助:(
我们最近将WIMP服务器从Windows Server 2003(32位)升级到Windows Server 2008 R2(64位)。 新服务器的硬件要比旧服务器好得多,但许多进程比旧的服务器花费的时间要长得多。 我们有一个相当复杂的Web应用程序进程,通常在旧盒子上需要大约7秒钟,而在新盒子上需要11-12秒。 这是从我禁用IPv6之前的15.5秒。 这个过程涉及一些查询(其中一些查询涉及在开始和提交之间可能有3个查询的事务)以及创build并通过电子邮件发送一些PDF。 Windows更新是一个或多或less新鲜的机器。 即使我们在网站上几乎没有stream量,这种情况也会持续发生。 内存和CPU不是很难被按下。 除了操作系统和硬件之外,唯一的区别在于: 可用时,我们使用64位版本的程序。 新服务器使用MySQL 5.5而不是MySQL 5.1(我运行了mysql_upgrade程序,我们使用InnoDB作为引擎) 新的服务器使用PHP版本5.3.18而不是PHP版本5.3.1 随着新的操作系统当然来了IIS7,而不是IIS6。 什么可能会导致更好的硬件运行如此之慢?
我们在Centos服务器上遇到了一个很大的问题,为了使用PHP 5.3.3的SOAP客户端。 我们的一位客户向我们报告说,他们在使用服务器上的某些networking服务时遇到了问题。 他们是第一个注意到SOAP模块没有安装的人。 当你执行php -v时,这些错误很快出现: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/fileinfo.so' – /usr/lib64/php/modules/fileinfo.so: undefined symbol: zval_property_ctor in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/soap.so' – /usr/lib64/php/modules/soap.so: undefined symbol: zval_property_ctor in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library […]
我是新安装/configurationApache2和PHP。 这是我迄今为止所做的,以及我目前的服务器设置。 我对Solaris / Sun OS非常熟悉。 Solaris 10,PHP版本是5.3.26,Apache版本是2.2.22,MySQL版本是5.0.67。 我已经能够安装/configurationApache和MySQL; 网站按我的意愿工作; 创build数据库并开始写入SQL。 这些工作正常。 我安装了PHP,它只能通过命令行工作。 也就是说,要执行: hello.php <?php echo "Hello World\n" ?> 我用: % php hello.php …我得到了“Hello World”的预期回报(减去引号)。 在httpd.conf (在/etc/apache2 )中,我添加了: DirectoryIndex index.html index.php index.html.var AddType application/x-httd-php .php AddHandler php5-script .php .html .htm. 引起我惊诧的一行是LoadModule php5_module modules/libphp5.so (我也见过使用libexec副模块的例子)。 如果LoadModule行没有在httpd.conf文件中注释掉,apache会进入维护模式。 我的LD_LIBRARY_PATH指向/usr/local/lib:/usr/lib:/usr/local/libexec:/usr/local/php/lib:/usr/sfw/lib:/usr/sfw/lib/mysql 。 PHP需要怎样处理浏览器?
我在一个相当高的stream量服务器上有一个PHP脚本,正在抛出很多这样的错误: (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server Premature end of script headers: script.php 但是,对于我能想到的任何参数,脚本将立即成功返回。 也没有用户投诉,也没有在PHP错误日志中的任何相应的错误。 但是,这只是一个脚本给出了任何错误,所以我认为在某些条件下一定有一个问题导致它失败。 为了进一步debugging,我需要知道什么GET参数发送到脚本失败时。 有没有办法修改Apache的错误日志来包含这些信息?