RoR sehr langsam

Apache, Lighttpd, nginx, Cherokee
TecServer
Anbieter
Posts: 91
Joined: 2006-04-08 21:41

RoR sehr langsam

Post by TecServer » 2007-11-24 11:08

grüß euch,

hab mal wieder ein performance problem :) diesmal mit RoR.
die Bearbeitungszeit, wenn das Script geladen ist geht schnell - 0,4 sekunden. Jedoch bis zur eigentlichen Bearbeitungszeit dauerts leider teilweise von 2 bis 3 sekunden!
Hab per LYNX am Server die Seite aufgerufen -> gleicher Effekt
Hab ./dispatch.fcgi und ./dispatch.cgi aufgerufen -> gleicher Effekt.

Folglich liegts also nicht an der Server Anbindung sondern Lokal muss da irgendwo der Hund drin sein.

Geparsed werden die Skripten über suPHP (ja ich weis, performance einbußen aber doch nicht so heftige!)
System: Gentoo

Hoffe Ihr könnt mir da irgendwie weiterhelfen

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: RoR sehr langsam

Post by Roger Wilco » 2007-11-24 11:14

production oder development Umgebung? Hast du mal in die Logs geschaut, die Rails anlegt?

Ansonsten sollte sich mit script/performance/profiler herausfinden lassen, woran es genau hängt (http://wiki.rubyonrails.org/rails/pages/UnderstandingTheScriptFiles).

TecServer
Anbieter
Posts: 91
Joined: 2006-04-08 21:41

Re: RoR sehr langsam

Post by TecServer » 2007-11-24 11:25

production - in den logs soweit keine hinweise
hab auch alle arten von zusatzrequirements mal auskommentiert aber wurde nicht verbessert. den link von dir sehe ich mir gleich an

TecServer
Anbieter
Posts: 91
Joined: 2006-04-08 21:41

Re: RoR sehr langsam

Post by TecServer » 2007-11-25 15:13

hab das ganze mal kurz gemacht und dabei folgendes ergebnis erhalten:

Code: Select all

Loading Rails...
./script/performance/../../config/../config/environment.rb:10: warning: already initialized constant RAILS_ENV
Using the standard Ruby profiler.
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 21.74     0.10      0.10      284     0.35     0.42  Object#method_added
 19.57     0.19      0.09        7    12.86    15.71  ActiveRecord::Associations::ClassMethods.add_multiple_associated_save_callbacks
  4.35     0.21      0.02       64     0.31     3.28  Module#module_eval
  4.35     0.23      0.02       12     1.67     1.67  Array#|
  4.35     0.25      0.02      100     0.20     1.00  Array#each
  4.35     0.27      0.02       53     0.38     1.32  Module#alias_method_chain
  4.35     0.29      0.02        2    10.00    15.00  Array#select
  2.17     0.30      0.01       26     0.38     0.38  String#downcase
  2.17     0.31      0.01       63     0.16     0.16  Array#pop
  2.17     0.32      0.01        7     1.43    52.86  ActiveRecord::Associations::ClassMethods.has_many
  2.17     0.33      0.01      477     0.02     0.02  Hash#key?
  2.17     0.34      0.01       71     0.14     0.14  Kernel.is_a?
  2.17     0.35      0.01       29     0.34     0.34  Kernel.==
  2.17     0.36      0.01      328     0.03     0.03  String#gsub!
  2.17     0.37      0.01       78     0.13     0.26  Class#read_inheritable_attribute
  2.17     0.38      0.01       53     0.19     1.89  ActiveSupport::Deprecation::ClassMethods.deprecate
  2.17     0.39      0.01        2     5.00     5.00  ActiveRecord::Reflection::AssociationReflection#through_reflection
  2.17     0.40      0.01        1    10.00    10.00  ActiveSupport::CoreExtensions::String::StartsEndsWith.ends_with?
  2.17     0.41      0.01      303     0.03     0.03  Module#==
  2.17     0.42      0.01      179     0.06     0.06  Class#inheritable_attributes
  2.17     0.43      0.01        7     1.43     1.43  ActiveRecord::Associations::ClassMethods.configure_dependency_for_has_many
  2.17     0.44      0.01      548     0.02     0.02  Symbol#to_s
  2.17     0.45      0.01      126     0.08     0.08  Kernel.block_given?
  2.17     0.46      0.01      284     0.04     0.04  Module#blank_slate_method_added
  0.00     0.46      0.00      168     0.00     0.00  NilClass#to_s
  0.00     0.46      0.00        1     0.00     0.00  Dependencies.qualified_name_for
  0.00     0.46      0.00        1     0.00     0.00  Kupferwerk::FileUploadHelper::ClassMethods.file_field
  0.00     0.46      0.00        7     0.00     0.00  ActiveRecord::Base#after_create
  0.00     0.46      0.00        2     0.00     0.00  ActiveRecord::Associations::ClassMethods.deprecated_association_comparison_method
  0.00     0.46      0.00        2     0.00     0.00  Symbol#id2name
  0.00     0.46      0.00        5     0.00     0.00  String#empty?
  0.00     0.46      0.00        1     0.00     0.00  Kernel.instance_variable_set
  0.00     0.46      0.00        3     0.00     0.00  Dependencies.log_call
  0.00     0.46      0.00        4     0.00     0.00  Object#initialize
  0.00     0.46      0.00        1     0.00     0.00  Array#delete_if
  0.00     0.46      0.00        1     0.00     0.00  NilClass#inspect
  0.00     0.46      0.00       11     0.00     0.00  String#tr!
  0.00     0.46      0.00        1     0.00   460.00  Class#const_missing
  0.00     0.46      0.00        6     0.00     0.00  Array#shift
  0.00     0.46      0.00        4     0.00     0.00  Symbol#to_proc
  0.00     0.46      0.00       53     0.00     0.00  Symbol#===
  0.00     0.46      0.00        7     0.00     0.00  ActiveRecord::Associations::ClassMethods.deprecated_collection_count_method
  0.00     0.46      0.00        3     0.00     0.00  Kernel.caller
  0.00     0.46      0.00       10     0.00     0.00  Array#empty?
  0.00     0.46      0.00        1     0.00     0.00  String#strip
  0.00     0.46      0.00        1     0.00     0.00  Observable.changed
  0.00     0.46      0.00       17     0.00     0.00  Array#flatten
  0.00     0.46      0.00        2     0.00     0.00  Array#size
  0.00     0.46      0.00        3     0.00     0.00  Dependencies.constant_watch_stack
  0.00     0.46      0.00        9     0.00     0.00  ActiveSupport::CoreExtensions::String::Inflections.foreign_key
  0.00     0.46      0.00        9     0.00     1.11  Class#write_inheritable_hash
  0.00     0.46      0.00        1     0.00    10.00  ActiveRecord::Validations::ClassMethods.validates_uniqueness_of
  0.00     0.46      0.00        2     0.00     0.00  Fixnum#>=
  0.00     0.46      0.00        2     0.00     0.00  ActiveSupport::CoreExtensions::String::Inflections.camelize
  0.00     0.46      0.00        4     0.00     5.00  ActiveRecord::Reflection::MacroReflection#class_name
  0.00     0.46      0.00        9     0.00     0.00  Enumerable.inject
  0.00     0.46      0.00        2     0.00     0.00  ActiveSupport::CoreExtensions::String::Inflections.constantize
  0.00     0.46      0.00        1     0.00     0.00  Dependencies.load?
  0.00     0.46      0.00        1     0.00     0.00  ActiveRecord::Validations::ClassMethods.validates_format_of
  0.00     0.46      0.00        7     0.00     5.71  ActiveRecord::Associations::ClassMethods.collection_accessor_methods
  0.00     0.46      0.00       30     0.00     0.00  Inflector::Inflections#instance
  0.00     0.46      0.00        9     0.00     1.11  ActiveRecord::Reflection::ClassMethods.create_reflection
  0.00     0.46      0.00        2     0.00     0.00  Kernel.inspect
  0.00     0.46      0.00        1     0.00   450.00  Dependencies.require_or_load
  0.00     0.46      0.00       28     0.00     0.00  Kernel.nil?
  0.00     0.46      0.00        2     0.00     0.00  ActiveRecord::Associations::ClassMethods.deprecated_has_association_method
  0.00     0.46      0.00        6     0.00     0.00  Kernel.__send__
  0.00     0.46      0.00       65     0.00     0.00  Module#const_get
  0.00     0.46      0.00        4     0.00     0.00  Module#const_defined?
  0.00     0.46      0.00        2     0.00     0.00  File#expand_path
  0.00     0.46      0.00       30     0.00     0.00  Inflector.inflections
  0.00     0.46      0.00      106     0.00     0.19  Module#alias_method
  0.00     0.46      0.00        2     0.00    10.00  ActiveRecord::Reflection::AssociationReflection#name_to_class_name
  0.00     0.46      0.00        1     0.00    10.00  Dependencies.search_for_file
  0.00     0.46      0.00        7     0.00     0.00  ActiveRecord::Associations::ClassMethods.collection_reader_method
  0.00     0.46      0.00        1     0.00     0.00  Class#cattr_reader
  0.00     0.46      0.00        1     0.00     0.00  Fixnum#-@
  0.00     0.46      0.00        1     0.00     0.00  ActiveRecord::Validations::ClassMethods.validates_confirmation_of
  0.00     0.46      0.00        2     0.00     0.00  Array#&
  0.00     0.46      0.00        9     0.00     0.00  ActiveRecord::Errors#default_error_messages
  0.00     0.46      0.00        7     0.00     1.43  ActiveRecord::Associations::ClassMethods.deprecated_collection_build_method
  0.00     0.46      0.00        6     0.00     0.00  Array#<<
  0.00     0.46      0.00        1     0.00     0.00  NameError#initialize
  0.00     0.46      0.00        1     0.00     0.00  ActiveRecord::Base#inherited
  0.00     0.46      0.00        2     0.00     0.00  Module#attr_accessor
  0.00     0.46      0.00        5     0.00     0.00  Hash#update
  0.00     0.46      0.00        7     0.00     0.00  ActiveSupport::CoreExtensions::Hash::Keys.symbolize_keys
  0.00     0.46      0.00        7     0.00     0.00  ActiveRecord::Validations::ClassMethods.validate
  0.00     0.46      0.00       18     0.00     0.00  Kernel.===
  0.00     0.46      0.00        2     0.00     0.00  String#upcase
  0.00     0.46      0.00       64     0.00     0.00  ActiveRecord::Reflection::MacroReflection#options
  0.00     0.46      0.00        9     0.00     0.00  ActiveSupport::CoreExtensions::Hash::Keys.assert_valid_keys
  0.00     0.46      0.00       26     0.00     0.00  String#initialize_copy
  0.00     0.46      0.00        1     0.00     0.00  ActiveSupport::CoreExtensions::String::Inflections.tableize
  0.00     0.46      0.00       50     0.00     0.00  Class#write_inheritable_attribute
  0.00     0.46      0.00       32     0.00     0.00  Kernel.hash
  0.00     0.46      0.00        1     0.00     0.00  ActiveSupport::CoreExtensions::String::Inflections.underscore
  0.00     0.46      0.00        1     0.00     0.00  Dependencies.mechanism
  0.00     0.46      0.00        1     0.00     0.00  Dependencies.history
  0.00     0.46      0.00        1     0.00   450.00  Object#require
  0.00     0.46      0.00        7     0.00     0.00  ActiveRecord::Associations::ClassMethods.add_association_callbacks
  0.00     0.46      0.00        9     0.00     2.22  ActiveRecord::Reflection::AssociationReflection#primary_key_name
  0.00     0.46      0.00        2     0.00     0.00  Dependencies.qualified_const_defined?
  0.00     0.46      0.00        4     0.00     0.00  File#file?
  0.00     0.46      0.00       44     0.00     0.00  Fixnum#==
  0.00     0.46      0.00        4     0.00     0.00  Array#*
  0.00     0.46      0.00        3     0.00     0.00  Dependencies.loaded
  0.00     0.46      0.00        2     0.00     0.00  Array#concat
  0.00     0.46      0.00        2     0.00     0.00  ActiveRecord::Associations::ClassMethods.association_accessor_methods
  0.00     0.46      0.00        4     0.00     0.00  Hash#include?
  0.00     0.46      0.00        1     0.00     0.00  Inflector.tableize
  0.00     0.46      0.00        5     0.00     4.00  ActiveRecord::Validations::ClassMethods.validate_on_create
  0.00     0.46      0.00        7     0.00     0.00  Hash#each
  0.00     0.46      0.00        7     0.00     0.00  ActiveRecord::Base#after_update
  0.00     0.46      0.00        1     0.00     0.00  Class#cattr_writer
  0.00     0.46      0.00       64     0.00     0.00  Hash#keys
  0.00     0.46      0.00        5     0.00     4.00  Kernel.send
  0.00     0.46      0.00        7     0.00     2.86  ActiveRecord::Associations::ClassMethods.deprecated_collection_create_method
  0.00     0.46      0.00       12     0.00     1.67  ActiveRecord::Validations::ClassMethods.write_inheritable_set
  0.00     0.46      0.00        1     0.00     0.00  Observable.notify_observers
  0.00     0.46      0.00      146     0.00     0.00  String#==
  0.00     0.46      0.00        1     0.00   450.00  Dependencies.new_constants_in
  0.00     0.46      0.00        1     0.00     0.00  Dependencies.load_paths
  0.00     0.46      0.00        7     0.00     2.86  ActiveRecord::Associations::ClassMethods.deprecated_has_collection_method
  0.00     0.46      0.00        9     0.00     2.22  ActiveRecord::Base#before_save
  0.00     0.46      0.00        1     0.00   460.00  Object#profile_me
  0.00     0.46      0.00        7     0.00     1.43  ActiveRecord::Associations::ClassMethods.create_has_many_reflection
  0.00     0.46      0.00       24     0.00     0.42  Class#write_inheritable_array
  0.00     0.46      0.00       12     0.00     0.00  String#[]
  0.00     0.46      0.00        2     0.00     0.00  Module#ancestors
  0.00     0.46      0.00        3     0.00     0.00  Symbol#inspect
  0.00     0.46      0.00      304     0.00     0.00  Hash#[]
  0.00     0.46      0.00       11     0.00     0.00  String#tr
  0.00     0.46      0.00        5     0.00     0.00  ActiveRecord::Validations::ClassMethods.validation_method
  0.00     0.46      0.00       14     0.00     2.14  ActiveSupport::CoreExtensions::String::Inflections.singularize
  0.00     0.46      0.00       11     0.00     0.00  ActiveRecord::Reflection::MacroReflection#macro
  0.00     0.46      0.00       64     0.00     0.00  Kernel.object_id
  0.00     0.46      0.00        7     0.00     2.86  ActiveRecord::Associations::ClassMethods.deprecated_add_association_relation
  0.00     0.46      0.00        2     0.00     0.00  Module#to_s
  0.00     0.46      0.00        2     0.00     0.00  Set#<<
  0.00     0.46      0.00        5     0.00     0.00  NilClass#nil?
  0.00     0.46      0.00      106     0.00     0.00  Hash#default
  0.00     0.46      0.00       14     0.00     2.14  Inflector.singularize
  0.00     0.46      0.00       47     0.00     0.21  Module#define_method
  0.00     0.46      0.00        1     0.00     0.00  ActiveRecord::Observing::ClassMethods.inherited
  0.00     0.46      0.00        5     0.00     0.00  Dependencies.log
  0.00     0.46      0.00        1     0.00   410.00  Kernel.require
  0.00     0.46      0.00        2     0.00     0.00  Inflector.constantize
  0.00     0.46      0.00        1     0.00   460.00  Integer#times
  0.00     0.46      0.00        7     0.00     1.43  ActiveRecord::Associations::ClassMethods.deprecated_find_all_in_collection_method
  0.00     0.46      0.00       51     0.00     0.00  Kernel.equal?
  0.00     0.46      0.00       14     0.00     0.00  Module#name
  0.00     0.46      0.00       11     0.00     0.00  Hash#merge
  0.00     0.46      0.00       18     0.00     0.00  Module#constants
  0.00     0.46      0.00       67     0.00     0.00  ActiveRecord::Reflection::MacroReflection#name
  0.00     0.46      0.00        4     0.00     0.00  Proc#new
  0.00     0.46      0.00        1     0.00     0.00  String#blank?
  0.00     0.46      0.00        2     0.00     5.00  ActiveRecord::Validations::ClassMethods.validates_length_of
  0.00     0.46      0.00        5     0.00     4.00  ActiveRecord::Validations::ClassMethods.validates_each
  0.00     0.46      0.00        2     0.00     0.00  Set#include?
  0.00     0.46      0.00       63     0.00     0.00  String#to_sym
  0.00     0.46      0.00        2     0.00     0.00  String#split
  0.00     0.46      0.00        1     0.00   460.00  Module#const_missing
  0.00     0.46      0.00        7     0.00    27.14  ActiveRecord::Associations::ClassMethods.add_deprecated_api_for_has_many
  0.00     0.46      0.00        7     0.00     5.71  Array#collect
  0.00     0.46      0.00       20     0.00     0.50  Array#include?
  0.00     0.46      0.00       10     0.00     0.00  Array#-
  0.00     0.46      0.00        4     0.00     0.00  File#join
  0.00     0.46      0.00        1     0.00     0.00  Dependencies.to_constant_name
  0.00     0.46      0.00        3     0.00     0.00  Module#===
  0.00     0.46      0.00       28     0.00     0.00  Hash#has_key?
  0.00     0.46      0.00        9     0.00     0.00  Inflector.demodulize
  0.00     0.46      0.00        2     0.00     0.00  Inflector.camelize
  0.00     0.46      0.00       55     0.00     0.36  Module#class_eval
  0.00     0.46      0.00       11     0.00     0.00  Inflector.underscore
  0.00     0.46      0.00       52     0.00     0.00  String#inspect
  0.00     0.46      0.00        2     0.00    20.00  Module#local_constants
  0.00     0.46      0.00       64     0.00     0.00  Array#last
  0.00     0.46      0.00       46     0.00     0.00  String#gsub
  0.00     0.46      0.00        1     0.00     0.00  Class#cattr_accessor
  0.00     0.46      0.00        1     0.00     0.00  Array#map
  0.00     0.46      0.00        7     0.00     2.86  ActiveRecord::Associations::ClassMethods.deprecated_find_in_collection_method
  0.00     0.46      0.00        2     0.00    10.00  ActiveRecord::Associations::ClassMethods.belongs_to
  0.00     0.46      0.00       53     0.00     0.00  String#sub
  0.00     0.46      0.00       77     0.00     0.00  Array#+
  0.00     0.46      0.00      113     0.00     0.00  Hash#[]=
  0.00     0.46      0.00       40     0.00     0.00  String#to_s
  0.00     0.46      0.00        7     0.00     0.00  Kernel.singleton_method_added
  0.00     0.46      0.00        7     0.00    12.86  ActiveRecord::Associations::ClassMethods.deprecated_remove_association_relation
  0.00     0.46      0.00        1     0.00     0.00  Class#inherited
  0.00     0.46      0.00        1     0.00     0.00  ActiveRecord::Base#after_destroy
  0.00     0.46      0.00        1     0.00     0.00  Kernel.respond_to?
  0.00     0.46      0.00       26     0.00     0.00  Kernel.dup
  0.00     0.46      0.00        1     0.00   410.00  Kernel.gem_original_require
  0.00     0.46      0.00        5     0.00     0.00  Dependencies.log_activity
  0.00     0.46      0.00       10     0.00     0.00  Class#new
  0.00     0.46      0.00        9     0.00     0.00  ActiveRecord::Reflection::MacroReflection#initialize
  0.00     0.46      0.00        1     0.00     0.00  Exception#initialize
  0.00     0.46      0.00        1     0.00   460.00  Dependencies.load_missing_constant
  0.00     0.46      0.00        1     0.00     0.00  Inflector.pluralize
  0.00     0.46      0.00       32     0.00     0.00  String#+
  0.00     0.46      0.00        2     0.00     0.00  String#length
  0.00     0.46      0.00       28     0.00     0.00  Symbol#to_sym
  0.00     0.46      0.00        9     0.00     0.00  Inflector.foreign_key
  0.00     0.46      0.00        4     0.00     0.00  ActiveRecord::Associations::ClassMethods.association_constructor_method
  0.00     0.46      0.00       11     0.00     0.00  Hash#initialize_copy
  0.00     0.46      0.00        9     0.00     0.00  Array#first
  0.00     0.46      0.00        2     0.00     0.00  ActiveRecord::Associations::ClassMethods.create_belongs_to_reflection
  0.00     0.46      0.00        1     0.00   460.00  #toplevel


Hier nun eine sache die mir aufgefallen ist: nach der warning zeile und vor erscheinen der "Using the standard ruby profiler." ist genau diese sekundenverzögerung gewesen wie beim normalen http aufruf.
Mit diesem Profiler output kann ich als nicht ruby entwickler schlecht was anfangen - kannst du mir da evntl helfen?

TecServer
Anbieter
Posts: 91
Joined: 2006-04-08 21:41

Re: RoR sehr langsam

Post by TecServer » 2007-12-05 15:19

grüß euch,

ich bin nun mittlerweile so weit dass ich sagen kann es liegt nicht am script!

auf einem server funktioniert folgender befehl in echtzeit:

Code: Select all

/usr/bin/ruby18 /home/ques/test/public/dispatch.cgi


auf dem anderen Server tritt beim gleichen befehl ein delay von ca 2 sekunden auf.

Woran kanns also liegen? Ruby hat doch keine globalen konfigurationsfiles oder ähnliches. Eventuell am Kernel?

philwo
Posts: 24
Joined: 2006-05-12 02:05

Re: RoR sehr langsam

Post by philwo » 2007-12-12 08:37

Evtl. DNS-Abfragen die hängen? Ist echt schwer zu sagen, bin auch nicht so der Ruby-Experte, aber wenn irgendwas hängt ist es gern mal DNS :-D Mit etwas Glück kannst du

Code: Select all

strace -f /usr/bin/ruby18 /home/ques/test/public/dispatch.cgi


machen und siehst "live", wo er hängt.. wenn du "hostname --fqdn" eingibst, dauert es dann auch länger als üblich?

TecServer
Anbieter
Posts: 91
Joined: 2006-04-08 21:41

Re: RoR sehr langsam

Post by TecServer » 2007-12-12 10:20

also hostname --fqdn funktioniert in echtzeit.

da strace eigentlich recht zügig mit dem output vorangeht und keine delays zwischen zeiten hat geh ich auch davon aus dass dies passt.

in einem anderen forum meinte einer dass es mit DMA zusammen hängen kann? was haltet ihr da davon?

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: RoR sehr langsam

Post by Roger Wilco » 2007-12-12 12:44

questionaire wrote:also hostname --fqdn funktioniert in echtzeit.

Langweilig, weil die Nameserver aus der /etc/resolv.conf dabei nicht benutzt werden.

questionaire wrote:in einem anderen forum meinte einer dass es mit DMA zusammen hängen kann? was haltet ihr da davon?

Nichts. Dann wäre alles langsam, nicht nur Ruby bzw. RoR. Damit dein Gewissen beruhigt ist, kannst du ja mal mit hdparm nachsehen, ob DMA für deine HDD(s) aktiviert ist, sofern es sich um IDE-Festplatten handelt.

Hast du mit strace eigentlich nur nur `hostname` überprüft oder auch den Interpreterstart von Ruby, der ja wohl so lange dauert?

philwo
Posts: 24
Joined: 2006-05-12 02:05

Re: RoR sehr langsam

Post by philwo » 2007-12-12 13:48

Roger Wilco wrote:
questionaire wrote:also hostname --fqdn funktioniert in echtzeit.

Langweilig, weil die Nameserver aus der /etc/resolv.conf dabei nicht benutzt werden.


Kommt auf die Config an. :-) Meine /etc/hosts ist bis auf die localhost-Definitionen leer, der Hostname lautet "pear.igowo.de", deswegen macht "strace hostname --fqdn":

Code: Select all

[...]
stat64("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=38, ...}) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 28) = 0
send(3, "+2141\0\01\0\0\0\0\0\04pear5igowo2de\0\01\01", 31, MSG_NOSIGNAL) = 31
recvfrom(3, "+214201200\01\01\03\0\04pear5igowo2de\0\01\0"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, [16]) = 105

write(1, "pear.igowo.den", 14pear.igowo.de) = 14


Aber du hast schon Recht, mit nslookup ließe sich das besser und zuverlässiger prüfen. :)

TecServer
Anbieter
Posts: 91
Joined: 2006-04-08 21:41

Re: RoR sehr langsam

Post by TecServer » 2007-12-12 20:09

nslookup ist auch sehr schnell.

Aber ich glaub ich hab jetzt was. Die 7MB Stracefile hat gezeigt dass eigentlich keine Operation lange gedauert hat - aber die masse war lange, denn er sucht durchgehend nach files:

28376 20:04:39.813117 stat64("/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/fileutils.rb", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.813203 stat64("/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/fileutils.so", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.813289 stat64("/usr/lib/ruby/gems/1.8/gems/actionmailer-1.3.6/bin/fileutils.rb", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.813375 stat64("/usr/lib/ruby/gems/1.8/gems/actionmailer-1.3.6/bin/fileutils.so", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.813463 stat64("/usr/lib/ruby/gems/1.8/gems/actionmailer-1.3.6/lib/fileutils.rb", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.813548 stat64("/usr/lib/ruby/gems/1.8/gems/actionmailer-1.3.6/lib/fileutils.so", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.813634 stat64("/usr/lib/ruby/gems/1.8/gems/actionwebservice-1.2.6/bin/fileutils.rb", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.813721 stat64("/usr/lib/ruby/gems/1.8/gems/actionwebservice-1.2.6/bin/fileutils.so", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.813808 stat64("/usr/lib/ruby/gems/1.8/gems/actionwebservice-1.2.6/lib/fileutils.rb", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.813895 stat64("/usr/lib/ruby/gems/1.8/gems/actionwebservice-1.2.6/lib/fileutils.so", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.813983 stat64("/usr/lib/ruby/gems/1.8/gems/rails-1.2.6/bin/fileutils.rb", 0xbfc9f64c) = -1 ENOENT (No such file or directory)
28376 20:04:39.814067 stat64("/usr/lib/ruby/gems/1.8/gems/rails-1.2.6/bin/fileutils.so", 0xbfc9f64c) = -1 ENOENT (No such file or directory)


Das Problem st hier, dass zB fileutils.rb nicht im oben genannten pfad ist sondern unter /usr/lib/ruby/1.8/gems....

kann man die Standartpfade von Ruby einstellen? Denn die Meldung wiederholt sich ca. 20k mal - dadurch ists natürlich langsam da er an zig stellen versucht das zu finden

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: RoR sehr langsam

Post by Joe User » 2007-12-12 20:24

Symlink reicht...