网站打开速度很慢,去远程桌面上重启phpstudy后网站打开速度很快,一会又变得很慢,请问谁知道啥原因
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网站打开速度很慢,去远程桌面上重启phpstudy后网站打开速度很快,一会又变得很慢,请问谁知道啥原因相关的知识,希望对你有一定的参考价值。
网站打开速度很慢,去远程桌面上重启phpstudy后网站打开速度很快,一会又变得很慢,请问谁知道什么原因呢?景安那边说是我的phpstudy有问题,说日志里有报错,不知道是不是那问题,因为里面有很多个网站,我怕都给弄丢了,我就把这个网站解析到另一台服务器,但是打开后全乱码,我发现里面很多php原代码也是乱码的
还有,里面所有的网站都打开很慢,同样重启phpstudy后很快,一会就又变慢了
1、修改mysql数据库链接地址为ip地址127.0.0.1。
2、使用最新版本,这个坑了我好久时间。
下面一段内容是关于phpstudy启动失败的解决办法。
php5.3、5.4和apache都是用vc9编译,电脑必须安装vc9运行库才能运行。
php5.5、5.6是vc11编译,如用php5.5、5.6必须安装vc11运行库。
vc9和vc11运行库下载:http://pan.baidu.com/s/1gd0y1Qb
php5.5以上才有64位的,其他均为32位。所以64位的系统最好把32位的运行库也安装上。
按照上边检查下自己设置和相关数据需要的运行库装好没有!
Webrick 的响应速度很慢。如何加快速度?
【中文标题】Webrick 的响应速度很慢。如何加快速度?【英文标题】:Webrick is very slow to respond. How to speed it up? 【发布时间】:2010-11-12 12:11:19 【问题描述】:我有一个 Rails 应用程序正在我的服务器上运行。当我转到远程桌面并尝试加载应用程序时,服务器需要 3-4 分钟才能响应一个简单的 HTML 页面。但是,当我在服务器上本地加载页面时,页面会在一秒钟内显示出来。我尝试从远程桌面 ping 服务器,并且 ping 在合理的时间内成功完成。
这一切似乎都是在我安装了 Oracle 的基本客户端和 SQLPLUS 之后开始的。我应该怀疑甲骨文吗?有没有人遇到过类似的情况?
【问题讨论】:
也许现在应该将其移至 serverfault? 不用了,只要在配置文件中修改一行即可解决 @AmigableClarkKant Webrick 更像是一个开发者工具,所以最好继续使用 SO。 天哪,一直以来我都将问题归咎于 vmware,烧死 webrick :( 【参考方案1】:这里有同样的问题(甚至一年后)。在linux下你必须做以下事情:
查找文件 /usr/lib/ruby/1.9.1/webrick/config.rb 并编辑它。
换行
:DoNotReverseLookup => nil,
与
:DoNotReverseLookup => true,
重新启动 webrick,它会像魅力一样工作 :)
【讨论】:
成功了!从本地网络中的另一台计算机提供静态内容时,Webrick 速度很慢。这解决了它。唯一的区别是 config.rb 位于:~/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/config.rb - 因为我们使用的是 RVM。 顺便说一句,我没有那个密钥,所以我只是添加它并且它有效 你在哪里添加的?什么部分? 根据ruby-doc.org/stdlib/libdoc/webrick/rdoc/classes/WEBrick/…应该在General部分。 我拥有的 ruby 版本是 ruby-1.8.7-p330,它似乎没有 DoNotReverseLookup 选项。字符串“DoNotReverseLookup”不会出现在 webrick 的 config.rb 或 ~/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8 中的任何位置。在 ruby-1.8.7-p330 中有什么好的方法可以解决这个问题吗?【参考方案2】:遇到了同样的问题。对我来说,this post 拥有解决方案。如果您使用的是 Ubuntu,请停止(或卸载)avahi-daemon
。 service avahi-daemon stop
停止守护进程。
Webrick 现在感觉非常很快。
这个问题有一个old report in Rails Lighthouse,但是,Ruby-on-Rails 从那时起已经移动了their tickets to github;不幸的是,这个老问题仍然存在。
但请注意,如果您真的使用 avahi-daemon
用于某些东西,例如您的网络上的finding printers and scanners,那将不再有效。
【讨论】:
非常感谢!!它解决了我在 Ubuntu 11.04/11.10/12.04 上的问题 嗯,这个答案对我来说似乎是无名英雄! 这也是为我做的。在 Ubuntu 13.04 上运行 OLD (1.8.7) 应用程序 这个解决方案实际上给我带来了麻烦,因为停止它会导致网络服务发疯!检查以下网址forums.fedoraforum.org/showthread.php?t=124837【参考方案3】:刚刚遇到同样的问题。
...
:DoNotReverseLookup => true,
...
也为我做了诀窍。 以防万一你在 rvm 下运行 ruby,这里是要走的路:
~/.rvm/rubies/ruby-<version>/lib/ruby/<version>/webrick/config.rb
【讨论】:
谢谢!在找到您的答案之前,我搜索了 .rvm 并没有找到 webrick,并更改了 /usr/lib 之一,但没有帮助。这行得通。 @KenBarber 很确定这不是一个好的方向,但是为了有一个好的和小的开发周期,只需对本地 RVM 安装进行此修改是可以的。顺便说一句,这只是您的用户个人资料,您不会打扰其他人... @Kjellski 也许你是对的,但它不会通过升级持续存在,也不是你可以轻松传递给你的开发人员的解决方案。在这种情况下,Rails 上的猴子补丁可能会更好耸耸肩。无论如何,它现在已修复:github.com/rails/rails/commit/… ...【参考方案4】:“Thin”现在是在本地和在 Heroku 上运行的绝佳选择:
网站: http://code.macournoyer.com/thin/
您可以通过放入 Gemfile 来在本地使用它:
gem "thin"
...然后运行 bundle 并使用 thin start
或 rails s
启动您的服务器。
Heroku 更新
Thin 现在被认为是 Heroku 的一个糟糕选择。更多信息在这里:
https://blog.heroku.com/archives/2013/4/3/routing_and_web_performance_on_heroku_a_faq
他们的建议:
切换到 JRuby 上的 Unicorn 或 Puma 等并发 Web 后端,这允许 dyno 管理自己的请求队列并避免阻塞长请求。
【讨论】:
一个完美的解决方案,不改变系统中的代码或任何东西。 事实证明,如果安装了 Sinatra,它会自动使用 Thin 而不是 webrick。我所要做的就是gem install thin
。请参阅sinatrarb.com/intro.html 建议同时运行 gem install thin,如果可用,Sinatra 会选择它。 编辑:显着的性能改进。从 1.3s 到 0.05s。【参考方案5】:
当通过 *** 访问 WEBrick 服务器时,我遇到了一个类似的问题。请求会花费很长时间,其中大部分都没有在线上发生任何事情。
由于 mongrel
和 thin
gems 都不能在 Windows 上使用 Ruby1.9,而且我无法卷入从源代码编译的东西,所以我需要坚持使用 WEBrick。
修复是在创建 WEBrick 服务器时将配置参数 DoNotReverseLookup
设置为 true
:
server = HTTPServer.new :DoNotReverseLookup => true, ...
【讨论】:
【参考方案6】:您可以使用Apache
或安装Thin
。在您的 Gemfile 中:gem 'thin'
您也可以查看web-servers for rails的列表。
【讨论】:
【参考方案7】:在 1.8.7 上尝试使用 webrick 执行此操作,但找不到要更改的配置。但是,您可以使用的一个作弊方法是将它试图反向查找的 IP 地址添加到运行 webrick 的服务器的主机文件中。..
【讨论】:
太棒了。这比编辑一些需要在每次更新后更改的 webrick 文件更好。 在我的情况下,要添加的条目(对于运行 webrick 的 Linux 客户机)将是 Windows 主机的 IP 地址【参考方案8】:我在使用 Sinatra 时经常遇到 10 秒的延迟。这个 sn-p 为我解决了。
将此添加到您的app.rb
文件顶部附近
class Rack::Handler::WEBrick
class << self
alias_method :run_original, :run
end
def self.run(app, options=)
options[:DoNotReverseLookup] = true
run_original(app, options)
end
end
见source
【讨论】:
【参考方案9】:这是一个旧的问答线程,它帮助我解决了本地开发虚拟机上的:DoNotReverseLookup
问题,并希望添加更多信息。 This web page explains the regression error 在 Ruby 核心中导致此问题出现在某些人身上;重点是我的;所有这一切的长短是有一个 GitHub 拉取请求,要求对此进行 Ruby 核心修复,希望它会被批准并合并到即将发布的 Ruby 中:
经过几个小时的故障排除,原来是这样! 显然,在 Ruby 标准库从 从 1.8.6 到 2.0.0,WEBrick 获得了一个新的配置选项
:DoNotReverseLookup
,默认设置为nil
。然后,在深处 WEBrick 的请求处理代码的胆量,它设置 传入连接套接字实例上的do_not_reverse_lookup
标志config[:DoNotReverseLookup]
的值。 由于这个值为nil
, 这是假的,效果和设置为false
一样, 覆盖全局Socket.do_not_reverse_lookup
标志。所以,除非 你有 :DoNotReverseLookup => true
在你的 WEBrick 配置中,反向 DNS 查找将始终针对每个新连接进行,可能 导致严重的延迟。
与此发现相关的是a GitHub pull request from the author提出如何修复Ruby WEBrick源代码中的问题:Fix regression bug in WEBrick's :DoNotReverseLookup config option implementation #731
请求中概述的解决方案是将 lib/webrick/server.rb
中的第 181 行更改为:
sock.do_not_reverse_lookup = config[:DoNotReverseLookup]
到这里:
unless config[:DoNotReverseLookup].nil?
如果有人偶然发现这个备受推崇的问题/答案线程并对在 Ruby 核心中解决此问题的进展感兴趣,请在此处分享。希望在 Ruby 的下一个版本中,这个 pull 将被合并或以某种方式处理潜在的问题;也许是 2.1.6?
【讨论】:
【参考方案10】:这是一个很晚的答案,但我花了一天的大部分时间来调试在 Vagrant 上运行的 Rails 的这个问题。更改反向 DNS 查找实际上并没有改善请求时间。在开发模式下,两件事的结合使我的页面加载时间从约 20 秒到约 3 秒:
将 WEBrick 替换为 mongrel。我必须使用预发布版本,否则无法安装:
sudo gem install mongrel --pre
然后将其添加到我的 Gemfile for dev:
group :test, :development do
gem 'mongrel'
end
然后像这样启动我的服务器:
rails server mongrel -e development
这减少了几秒钟,5 或 6 秒,但它仍然非常慢。 这是锦上添花 - 也将其添加到 Gemfile:
group :development do
gem 'rails-dev-boost', :git => 'git://github.com/thedarkone/rails-dev-boost.git'
end
【讨论】:
【参考方案11】:ruby 1.8.x webrick 中没有DoNotReverseLookup
选项。解决方法是:
Socket.do_not_reverse_lookup = true
脚本开头的某处。
来源:WEBrick and Socket.do_not_reverse_lookup: A Tale in Two Acts
【讨论】:
【参考方案12】:在我的可能罕见的情况下,它在我刷新我的 iptables 后工作,这没有任何副作用,因为我没有任何自定义规则(只是默认的 Ubuntu 允许所有):
sudo iptables -F
【讨论】:
以上是关于网站打开速度很慢,去远程桌面上重启phpstudy后网站打开速度很快,一会又变得很慢,请问谁知道啥原因的主要内容,如果未能解决你的问题,请参考以下文章
远程连接mysql数据库很慢,修改了my.ini配置文件,[mysqld]下加了skip-name-resolve并重启也没有用