additional-information
ERDDAP™- Ρυθμίστε το δικό σαςERDDAP™
Πράγματα που πρέπει να ξέρετε
Σφάλματα διαμεσολαβητή
Μερικές φορές, ένα αίτημα γιαERDDAP™θα επιστρέψει ένα σφάλμα διαμεσολαβητή, ένα σφάλμα HTTP 502 Bad Gateway, ή κάποιο παρόμοιο σφάλμα. Αυτά τα λάθη ρίχνονται από Απάτσι ή Tomcat, όχιERDDAP™Μόνο του.
- Εάν κάθε αίτημα δημιουργεί αυτά τα σφάλματα, ειδικά όταν είστε για πρώτη φορά την εγκατάσταση σαςERDDAP™, τότε είναι πιθανώς ένα πληρεξούσιο ή κακό σφάλμα πύλης, και η λύση είναι πιθανώς να διορθώσειERDDAPsettings διαμεσολαβητή. Αυτό μπορεί επίσης να είναι το πρόβλημα όταν μια καθιερωμένηERDDAP™ξαφνικά αρχίζει να ρίχνει αυτά τα λάθη για κάθε αίτημα.
- Διαφορετικά, "προσέγγιση" λάθη είναι συνήθως στην πραγματικότητα time out λάθη που ρίχνονται από Apache ή Tomcat. Ακόμα και όταν συμβαίνουν σχετικά γρήγορα, είναι ένα είδος απάντησης από Apache ή Tomcat που συμβαίνει ότανERDDAP™είναι πολύ απασχολημένος, περιορισμένη μνήμη, ή περιορίζεται από κάποιο άλλο πόρο. Σε αυτές τις περιπτώσεις, δείτε τις παρακάτω συμβουλές για την αντιμετώπισηERDDAP™απόκριση αργά.
Αιτήσεις για μεγάλο χρονικό διάστημα (> 30 ώρες) από ένα πλέγμα σύνολο δεδομένων είναι επιρρεπείς σε αποτυχίες time out, οι οποίες συχνά εμφανίζονται ως Proxy Σφάλματα, επειδή απαιτεί σημαντικό χρόνο γιαERDDAP™να ανοίξει όλα τα αρχεία δεδομένων ένα προς ένα. ΕάνERDDAP™κατά τα άλλα είναι απασχολημένος κατά τη διάρκεια της αίτησης, το πρόβλημα είναι πιο πιθανό να συμβεί. Εάν τα αρχεία του συνόλου δεδομένων είναι συμπιεσμένα, το πρόβλημα είναι πιο πιθανό να εμφανιστεί, αν και είναι δύσκολο για έναν χρήστη να καθορίσει αν τα αρχεία ενός συνόλου δεδομένων είναι συμπιεσμένα. Η λύση είναι να γίνουν αρκετά αιτήματα, το καθένα με μικρότερο χρονικό εύρος. Πόσο μικρό χρονικό διάστημα; Προτείνω να ξεκινήσουμε πολύ μικρά (~30 ώρες;) , τότε (περίπου) Διπλασίασε το χρονικό εύρος μέχρι να αποτύχει η αίτηση, και μετά πήγαινε πίσω ένα διπλασιασμό. Τότε κάνε όλες τις αιτήσεις. (ο καθένας για ένα διαφορετικό κομμάτι του χρόνου) Έπρεπε να πάρω όλα τα δεδομένα. ΑERDDAP™Ο διαχειριστής μπορεί να μειώσει αυτό το πρόβλημα με την αύξηση τουsettings χρονικού ορίου Apache.
Παρακολούθηση
Όλοι θέλουμε οι υπηρεσίες δεδομένων μας να βρουν το κοινό τους και να χρησιμοποιηθούν εκτενώς, αλλά μερικές φορές σαςERDDAP™μπορεί να χρησιμοποιηθεί πάρα πολύ, προκαλώντας προβλήματα, συμπεριλαμβανομένων των εξαιρετικά αργών απαντήσεων για όλα τα αιτήματα. Το σχέδιό μας για την αποφυγή προβλημάτων είναι:
- ΠαρακολούθησηERDDAP™μέσω τηςstatus.html ιστοσελίδα. Έχει τόνους χρήσιμες πληροφορίες. Αν δείτε ότι ένας τεράστιος αριθμός αιτημάτων έρχονται, ή τόνοι μνήμης που χρησιμοποιούνται, ή τόνους αποτυχημένων αιτημάτων, ή κάθε μεγάλο φορτίοDatasets παίρνει ένα μεγάλο χρονικό διάστημα, ή να δείτε οποιοδήποτε σημάδι των πραγμάτων να κολλάει κάτω και να ανταποκρίνεται αργά, τότε κοιτάξτε μέσαERDDAPΣαρχείο log.txtΓια να δούμε τι συμβαίνει.
Είναι επίσης χρήσιμο να σημειωθεί απλά πόσο γρήγορα ανταποκρίνεται η σελίδα κατάστασης. Εάν ανταποκρίνεται αργά, αυτός είναι ένας σημαντι κός δείκτης πουERDDAP™Είναι πολύ απασχολημένος.
- ΠαρακολούθησηERDDAP™μέσω τηςΗμερήσια έκθεσηmail.
- Προσέξτε για τις παρωχημένες δέσμες δεδομένων μέσω του ΒάσηUrl /erddap/outOfDateDatasets.htmlιστοσελίδα που βασίζεται στο προαιρετικόtestOutOfDateΠαγκόσμια ιδιότητα.
Εξωτερικές οθόνες
Οι προαναφερόμενες μέθοδοι είναι:ERDDAPΟι τρόποι παρακολούθησης του εαυτού του. Είναι επίσης δυνατό να κάνετε ή να χρησιμοποιήσετε εξωτερικά συστήματα για την παρακολούθηση σαςERDDAP. Ένα σχέδιο για να το κάνουμε αυτό είναιΈργο erddap-metrics του Axiom. Τέτοια εξωτερικά συστήματα έχουν κάποια πλεονεκτήματα:
- Μπορούν να προσαρμοστούν για να παρέχουν τις πληροφορίες που θέλετε, εμφανίζονται με τον τρόπο που θέλετε.
- Μπορούν να περιλαμβάνουν πληροφορίες σχετικά μεERDDAP™ότιERDDAP™δεν μπορεί να έχει πρόσβαση εύκολα ή καθόλου (για παράδειγμα, χρήση ΚΜΕ, ελεύθερο χώρο στο δίσκο,ERDDAP™χρόνος απόκρισης όπως φαίνεται από την οπτική γωνία του χρήστη,ERDDAP™uptime,
- Μπορούν να παρέχουν ειδοποιήσεις (email, τηλεφωνικές κλήσεις, μηνύματα) στους διαχειριστές όταν τα προβλήματα υπερβαίνουν κάποιο όριο.
Πολλαπλή Ταυτόχρονη Αιτήσεις
- Οι χρήστες της μαύρης λίστας κάνουν πολλαπλές ταυτόχρονες αιτήσεις! Εάν είναι σαφές ότι κάποιος χρήστης κάνει περισσότερες από μία ταυτόχρονες αιτήσεις, επανειλημμένα και συνεχώς, τότε προσθέστε τη διεύθυνση IP τουςERDDAPΕίναι...<αίτησηBlacklist>] (/docs/server-admin/datasets#ζητώ μαύρη λίστα) σε σαςdatasets.xmlΑρχείο. Μερικές φορές τα αιτήματα είναι όλα από μια διεύθυνση IP. Μερικές φορές είναι από πολλαπλές διευθύνσεις IP, αλλά σαφώς ο ίδιος χρήστης. Μπορείτε επίσης να μαύρη λίστα ανθρώπων που κάνουν τόνους άκυρων αιτημάτων ή τόνους του μυαλού-ασήμαντα αναποτελεσματικά αιτήματα.
Στη συνέχεια, για κάθε αίτημα που κάνουν,ERDDAP™επιστρέφει:
HTTP ERROR 403 - Access Forbidden --
Your IP address is on this ERDDAP's request blacklist.
Did you often submit more than one request at a time?
Did you often submit identical requests in a short period of time?
Did you submit a large number of invalid requests?
If you are ready to avoid these problems, please email \[ERDDAP™ administrator's email address\] to request to be taken off of the blacklist.
Ελπίζω ο χρήστης να δει αυτό το μήνυμα και να επικοινωνήσει μαζί σας για να βρει πώς να διορθώσει το πρόβλημα και να βγει από τη μαύρη λίστα. Μερικές φορές αλλάζουν διευθύνσεις IP και προσπαθούν ξανά.
Είναι σαν την ισορροπία δύναμης μεταξύ επιθετικών και αμυντικών όπλων στον πόλεμο. Εδώ, τα αμυντικά όπλα. (ERDDAP) έχουν σταθερή χωρητικότητα, περιορισμένη από τον αριθμό των πυρήνων στην ΚΜΕ, το εύρος ζώνης πρόσβασης στο δίσκο, και το εύρος ζώνης δικτύου. Αλλά τα επιθετικά όπλα (χρήστες, κυρίως σενάρια) έχουν απεριόριστη χωρητικότητα:
- Μια ενιαία αίτηση για δεδομένα από πολλά χρονικά σημεία μπορεί να προκαλέσειERDDAPγια να ανοίξετε έναν τεράστιο αριθμό αρχείων (Που έχουν απλώς ελαθεί σε θερμή κατάσταση) . Σε ακραίες περιπτώσεις, ένα " απλό" αίτημα μπορεί εύκολα να συνδέσει το RAID που συνδέεται μεERDDAP™για ένα λεπτό, εμποδίζοντας αποτελεσματικά τ ον χειρισμό άλλων αιτημάτων.
- Ένα μόνο αίτημα μπορεί να καταναλώσει ένα μεγάλο κομμάτι μνήμης (Ακόμα κι ανERDDAP™κωδικοποιείται για να ελαχιστοποιηθεί η μνήμη που απαιτείται για την αντιμετώπιση μεγάλων αιτημάτων) .
- Παραλληλισμός - Ναι. Είναι εύκολο για έναν έξυπνο χρήστη να παραλληλίσει μια μεγάλη εργασία δημιουργώντας πολλά νήματα, καθένα από τα οποία υποβάλλει ένα ξεχωριστό αίτημα (που μπορεί να είναι μεγάλα ή μικρά) . Αυτή η συμπεριφορά ενθαρρύνεται από την επιστημονική κοινότητα υπολογιστών ως ένας αποτελεσματικός τρόπος αντιμετώπισης ενός μεγάλου προβλήματος (και η παράλληλη είναι αποτελεσματική σε άλλες περιπτώσεις) . Επιστρέφοντας στην πολεμική αναλογία: οι χρήστες μπορούν να κάνουν έναν ουσιαστικά απεριόριστο αριθμό ταυτόχρονων αιτημάτων με το κόστος του καθενός να είναι ουσιαστικά μηδέν, αλλά το κόστος του κάθε αιτήματος να έρχεται σεERDDAP™μπορεί να είναι μεγάλο καιERDDAPΗ ικανότητα απόκρισης είναι πεπερασμένη. Προφανώς,ERDDAP™θα χάσει αυτή τη μάχη, εκτός αν ηERDDAP™Διαχειριστής μαύρες λίστες χρήστες που κάνουν πολλαπλές ταυτόχρονες αιτήσεις που είναι άδικα συνωστίζοντας άλλους χρήστες.
- Πολλαπλά σενάρια - Τώρα σκεφτείτε τι συμβαίνει όταν υπάρχουν αρκετοί έξυπνοι χρήστες ο καθένας τρέχει παράλληλα σενάρια. Αν ένας χρήστης μπορεί να δημιουργήσει τόσα πολλά αιτήματα που άλλοι χρήστες είναι συνωστισμένοι, τότε πολλοί τέτοιοι χρήστες μπορούν να δημιουργήσουν τόσα πολλά αιτήματα πουERDDAP™κατακλύζεται και φαινομενικά δεν ανταποκρίνεται. ΗΕπίθεση DDOSΚαι πάλι, η μόνη άμυνα γιαERDDAP™είναι για τους χρήστες της μαύρης λίστας που κάνουν πολλαπλές ταυτόχρονες αιτήσεις οι οποίες παρακωλύουν άδικα άλλους χρήστες.
- Φουσκωμένες Προσδοκίες - Σε αυτόν τον κόσμο των μεγάλων εταιρειών τεχνολογίας (Amazon, Google, Facebook, ...) , οι χρήστες έχουν φτάσει να αναμένουν ουσιαστικά απεριόριστες δυνατότητες από τους παρόχους. Δεδομένου ότι αυτές οι εταιρείες είναι οι πράξεις παραγωγής χρήματος, όσο περισσότερους χρήστες έχουν, τόσο περισσότερα έσοδα πρέπει να επεκτείνουν την υποδομή πληροφορικής τους. Έτσι μπορούν να αντέξουν οικονομικά μια τεράστια υποδομή πληροφορικής για να χειριστούν αιτήματα. Και περιορίζουν έξυπνα τον αριθμό των αιτημάτων και του κόστους κάθε αιτήματος από τους χρήστες περιορίζοντας τα είδη των αιτημάτων που μπορούν να υποβάλουν οι χρήστες έτσι ώστε να μην είναι επαχθείς καμία αίτηση, και ποτέ δεν υπάρχει λόγος (ή έναν τρόπο) για τους χρήστες να κάνουν πολλαπλές ταυτόχρονες αιτήσεις. Έτσι αυτές οι τεράστιες εταιρείες τεχνολογίας μπορεί να έχουν πολύ περισσότερους χρήστες από ό, τιERDDAP™, αλλά έχουν μαζικά περισσότερους πόρους και έξυπνους τρόπους για να περιορίσουν τα αιτήματα από κάθε χρήστη. Είναι μια διαχειρίσιμη κατάσταση για τις μεγάλες εταιρείες πληροφορικής (και πλουτίζουν!) αλλά όχι γιαERDDAP™εγκαταστάσεις. Και πάλι, η μόνη άμυνα γιαERDDAP™είναι για τους χρήστες της μαύρης λίστας που κάνουν πολλαπλές ταυτόχρονες αιτήσεις οι οποίες παρακωλύουν άδικα άλλους χρήστες.
Έτσι χρήστες: Μην κάνετε πολλαπλές ταυτόχρονες αιτήσεις ή θα μπείτε στη μαύρη λίστα!
Προφανώς, είναι καλύτερο αν ο διακομιστής σας έχει πολλούς πυρήνες, πολλή μνήμη. (Έτσι μπορείτε να διαθέσετε πολλή μνήμη σεERDDAP™, περισσότερο από ποτέ χρειάζεται) , και μια σύνδεση στο διαδίκτυο υψηλής ζώνης. Στη συνέχεια, η μνήμη είναι σπάνια ή ποτέ ένας περιοριστικός παράγοντας, αλλά το εύρος ζώνης του δικτύου γίνεται ο πιο συνηθισμένος περιοριστικός παράγοντας. Βασικά, καθώς υπάρχουν όλο και περισσότερες ταυτόχρονες αιτήσεις, η ταχύτητα προς οποιονδήποτε χρήστη μειώνεται. Αυτό φυσικά επιβραδύνει τον αριθμό των αιτήσεων που έρχονται σε αν ο κάθε χρήστης απλά υποβάλλει μια αίτηση κάθε φορά.
ERDDAP™Λήψη δεδομένων από ΤΡΕΙΣ
ΕάνERDDAP™παίρνει μερικά από τα δεδομένα του από μια thresedds στην ιστοσελίδα σας, υπάρχουν κάποια πλεονεκτήματα για να κάνει ένα αντίγραφο των αρχείων δεδομένων thresedds (τουλάχιστον για τα πιο δημοφιλή σ ύνολα δεδομένων) σε ένα άλλο RAID πουERDDAP™έχει πρόσβαση σε έτσι ώστεERDDAP™μπορεί να εξυπηρετήσει τα δεδομένα από τα αρχεία άμεσα. ΣτοERDΑυτό το κάνουμε για τα πιο δημοφιλή σύνολα δεδομένων.
- ERDDAP™μπορεί να πάρει τα δεδομένα άμεσα και δεν πρέπει να περιμένει για THREDS να επαναφορτώσει το σύνολο δεδομένων ή ...
- ERDDAP™μπορεί να παρατηρήσει και να ενσωματώσει νέα αρχεία δεδομένων αμέσως, έτσι ώστε να μην χρειάζεται να pester THREDS συχνά για να δείτε αν το σύνολο δεδομένων έχει αλλάξει. Βλέπε [<ενημέρωσηEveryNMillis>] (/docs/server-admin/datasets#updateeverenmillis) .
- Το φορτίο χωρίζεται μεταξύ 2 διακομιστών RAIDS και 2, αντί το αίτημα να είναι δύσκολο και για τους δύοERDDAP™και τα τρία.
- Αποφύγετε το πρόβλημα αναντιστοιχίας που προκαλείται από thREDDS έχοντας ένα μικρό (εξ ορισμού) μέγιστο μέγεθος αίτησης.ERDDAP™έχει ένα σύστημα για να χειριστεί την αναντιστοιχία, αλλά η αποφυγή του προβλήματος είναι καλύτερη.
- Έχετε ένα αντίγραφο ασφαλείας των δεδομένων που είναι πάντα μια καλή ιδέα.
Σε κάθε περίπτωση, μην τρέξεις ποτέ ΤΡΕΙΣ καιERDDAP™στην ίδια Tomcat. Εκτελέστε τους σε ξεχωριστούς Tomcat, ή καλύτερα, σε ξεχωριστούς servers.
Ανακαλύπτουμε ότι οι ΤΡΕΙΣ έρχονται περιοδικά σε μια κατάσταση όπου οι αιτήσεις απλά κρέμονται. ΕάνERDDAP™παίρνει δεδομένα από ένα thredds και το thredds είναι σε αυτή την κατάσταση,ERDDAP™έχει μια άμυνα (λέει ότι το σύνολο δεδομένων με βάση το ThREDS δεν είναι διαθέσιμο) , αλλά εξακολουθεί να είναι ενοχλητικό γιαERDDAP™επειδήERDDAP™πρέπει να περιμένει μέχρι το timeout κάθε φορά που προσπαθεί να φορτώσει εκ νέου ένα σύνολο δεδομένων από ένα κρεμασμένο thredds. Ορισμένες ομάδες (συμπεριλαμβανομένωνERD) Αποφεύγετε αυτό με την εκ των προτέρων επανεκκίνηση ΤΡΕΙΣ συχνά (π.χ., νυκτερινή εργασία) .
Απαντώντας Αργά
- ΕάνERDDAP™Ανταποκρίνεται Αργά ή αν απλά ορισμένα αιτήματα ανταποκρίνονται αργά, μπορεί να είστε σε θέση να υπολογίσετε αν η βραδύτητα είναι λογική και προσωρινή (π.χ. λόγω πολλών αιτημάτων από σενάρια ήWMSχρήστες) , ή αν κάτι είναι ανεξήγητα λάθος και θα πρέπει ναΚλείστε και επανεκκινήστε Tomcat καιERDDAP™.
ΕάνERDDAP™ανταποκρίνεται αργά, δείτε τις παρακάτω συμβουλές για τον προσδιορισμό της αιτίας, η οποία ελπίζουμε ότι θα σας δώσει τη δυνατότητα να διορθώσετε το πρόβλημα. Μπορεί να έχετε ένα συγκεκριμένο σημείο εκκίνησης (π.χ. ένα συγκεκριμένο URL αίτησης) ή ένα αόριστο σημείο εκκίνησης (π.χ.,ERDDAP™είναι αργή) . Μπορεί να γνωρίζετε τον χρήστη που εμπλέκεται (π.χ., επειδή σου έστειλαν email) Ή όχι. Μπορεί να έχεις άλλα στοιχεία, ή όχι. Δεδομένου ότι όλες αυτές οι καταστάσεις και όλες οι πιθανές αιτίες των προβλημάτων θολώνουν μαζί, οι παρακάτω συμβουλές προσπαθούν να αντιμετωπίσουν όλα τα πιθανά σημεία εκκίνησης και όλα τα πιθανά προβλήματα που σχετίζονται με αργές αντιδράσεις.
- Ψάξε για στοιχεία.ERDDAPΑρχείο καταγραφής ( bigParentΚατάλογος /logs/log.txt) .
\[Σε σπάνιες περιπτώσεις, υπάρχουν ενδείξειςΑρχείο καταγραφής Tomcat ( τομκάτ /logs/καταλίνα.out) .\]
Ψάξτε για μηνύματα λάθους. Ψάξτε για ένα μεγάλο αριθμό αιτημάτων που προέρχονται από ένα (ή μερικά) χρήστες και ίσως χοάνη πολλών πόρων του διακομιστή σας (μνήμη, χρόνος ΚΜΕ, πρόσβαση στο δίσκο, εύρος ζώνης στο διαδίκτυο) .
Αν το πρόβλημα είναι συνδεδεμένο με ένας χρήστης , μπορείτε συχνά να πάρετε ένα στοιχείο σχετικά με το ποιος είναι ο χρήστης μέσω web υπηρεσίες όπως https://whatismyipaddress.com/ip-lookup που μπορούν να σας δώσουν πληροφορίες σχετικά με τη διεύθυνση IP του χρήστη (το οποίο μπορείτε να βρείτε σεERDDAPΣlog.txtαρχείο) .
- Εάν ο χρήστης φαίνεται να είναι bot να συμπεριφέρονται άσχημα (Ειδικότερα, μια μηχανή αναζήτησης που προσπαθεί να συμπληρώσει τοERDDAP™μορφές με κάθε δυνατή διαφοροποίηση των τιμών εισόδου) , βεβαιωθείτε ότι έχετε δημιουργήσει σωστά server σαςρομπότ.txtΑρχείο.
- Εάν ο χρήστης φαίνε ται να είναι **σενάριο (α) ** που κάνει πολλαπλές ταυτόχρονες αιτήσεις, επικοινωνήστε με το χρήστη, εξηγήστε ότι σαςERDDAP™έχει περιορισμένους πόρους (π.χ., μνήμη, χρόνος ΚΜΕ, πρόσβαση στο δίσκο, εύρος ζώνης στο διαδίκτυο) , και να τους ζητήσει να είναι προσεκτικοί με άλλους χρήστες και απλά να υποβάλουν ένα αίτημα κάθε φορά. Μπορείτε επίσης να αναφέρετε ότι θα τους μαυρίσετε αν δεν κάνουν πίσω.
- Εάν ο χρήστης φαίνεται να είναι σενάριο κάνοντας ένα μεγάλο αριθμό χρονοβόρων αιτημάτων, ζητήστε από το χρήστη να είναι διακριτικός των άλλων χρηστών, κάνοντας μια μικρή παύση (Δύο δευτερόλεπτα;) στο σενάριο μεταξύ αιτημάτων.
- WMSλογισμικό πελάτη Μπορεί να είναι πολύ απαιτητική. Ένας πελάτης συχνά θα ζητήσει 6 προσαρμοσμένες εικόνες κάθε φορά. Εάν ο χρήστης φαίνεται να είναιWMSο πελάτης που κάνει νόμιμα αιτήματα, μπορείτε:
- Αγνόησέ το. (συνιστάται, γιατί θα προχωρήσουμε πολύ σύντομα)
- Κλείστε το διακομιστή σαςWMSυπηρεσία μέσωERDDAPΤο αρχείο setup.html. (δεν συνιστάται)
- Αν τα αιτήματα φαίνονται ηλίθιο, τρελό, υπερβολικό, ή κακόβουλο, ή αν δεν μπορείτε να επιλύσετε το πρόβλημα με οποιονδήποτε άλλο τρόπο, σκεφτείτε προσωρινά ή μόνιμα προσθέτοντας τη διεύθυνση IP του χρήστη στην [<αίτησηBlacklist> στο δικό σαςdatasets.xmlαρχείο] (/docs/server-admin/datasets#ζητώ μαύρη λίστα) .
- Προσπαθήστε να αναπαραγάγετε το πρόβλημα μόνοι σας, από τον υπολογιστή σας.
Αναλύστε αν το πρόβλημα είναι με ένα σύνολο δεδομένων ή όλα τα σύνολα δεδομένων, για έναν χρήστη ή για όλους τους χρήστες, για ορισμένους μόνο τύπους αιτήσεων, κλπ.. Αν μπορείτε να αντιγράψετε το πρόβλημα, προσπαθήστε να περιορίσετε το πρόβλημα. Εάν δεν μπορείτε να αντιγράψετε το πρόβλημα, τότε το πρόβλημα μπορεί να συνδεθεί με τον υπολογιστή του χρήστη, τη σύνδεση στο διαδίκτυο του χρήστη, ή τη σύνδεση στο διαδίκτυο του ιδρύματος σας. - Αν απλά ένα σύνολο δεδομένων ανταποκρίνεται αργά (Ίσως μόνο για ένα είδος αίτησης από έναν χρήστη) , το πρόβλημα μπορεί να είναι:
- ERDDAP's πρόσβαση στα πηγαία δεδομένα του συνόλου δεδομένων (κυρίως από σχετικές βάσεις δεδομένων, Κασσάνδρα, και απομακρυσμένα σύνολα δεδομένων) μπορεί να είναι προσωρινά ή μόνιμα αργή. Προσπαθήστε να ελέγξετε την ταχύτητα της πηγής ανεξάρτητα απόERDDAP. Αν είναι αργό, ίσως μπορείτε να το βελτιώσετε.
- Το πρόβλημα σχετίζεται με το συγκεκριμένο αίτημα ή το γενικό είδος αίτησης; Όσο μεγαλύτερο είναι το ζητούμενο υποσύνολο ενός συνόλου δεδομένων, τόσο πιθανότερο είναι να αποτύχει το αίτημα. Εάν ο χρήστης κάνει τεράστια αιτήματα, ζητήστε από τον χρήστη να κάνει μικρότερα αιτήματα που είναι πιο πιθανό να πάρει μια γρήγορη και επιτυχημένη απάντηση.
Σχεδόν όλα τα σύνολα δεδομένων είναι καλύτερα στο χειρισμό ορισμένων τύπων αιτήσεων από άλλους τύπους αιτήσεων. Για παράδειγμα, όταν ένα σύνολο δεδομένων αποθηκεύει διαφορετικά χρονικά κομμάτια σε διαφορετικά αρχεία, τα αιτήματα για δεδομένα από έναν τεράστιο αριθμό χρονικών σημείων μπορεί να είναι πολύ αργά. Εάν τα τρέχοντα αιτήματα είναι δύσκολου τύπου, σκεφτείτε να προσφέρετε μια παραλλαγή του συνόλου δεδομένων που βελτιστοποιείται για αυτά τα αιτήματα. Ή απλά εξηγήστε στο χρήστη ότι αυτό το είδος της αίτησης είναι δύσκολο και χρονοβόρο, και να ζητήσει την υπομονή τους.
-
Το σύνολο δεδομένων μπορεί να μην είναι βέλτιστα ρυθμισμένο. Ίσως μπορείτε να κάνετε αλλαγές στο σύνολο δεδομένωνdatasets.xmlκομμάτι για να βοηθήσειERDDAP™Χειρίσου καλύτερα το σύνολο δεδομένων. Για παράδειγμα,
- EDDGridFromNcFiles datasets ότι η πρόσβαση σε δεδομένα από συμπιεσμένα αρχεία nc4/hdf5 είναι αργή κατά τη λήψη δεδομένων για ολόκληρο το γεωγραφικό εύρος (π.χ. για παγκόσμιο χάρτη) Γιατί όλο το αρχείο πρέπει να αποσυμπιέζεται. Θα μπορούσατε να μετατρέψετε τα αρχεία σε ασυμπίεστα αρχεία, αλλά στη συνέχεια η απαίτηση χώρου στο δίσκο θα είναι πολύ, πολύ μεγαλύτερη. Είναι ίσως καλύτερα να αποδεχτούμε ότι αυτά τα σύνολα δεδομένων θα είναι αργά σε ορισμένες περιπτώσεις.
- Η διαμόρφωση του [<subsetVariables>] (/docs/server-admin/datasets#subsetvarariables) tag έχει μια τεράστια επιρροή στο πώςERDDAP™χειρίζεται σύνολα δεδομένων EDDTable.
- Μπορεί να είστε σε θέση να αυξήσει τοταχύτητα ενός πίνακα EDDFromDatabaseΣύστημα δεδομένων.
- Πολλά σύνολα δεδομένων EDDTable μπορούν να επιταχυνθούν απόαποθήκευση αντιγράφου των δεδομένωνNetCDFContiguous Ragled Array αρχεία, η οποίαERDDAP™μπορεί να διαβάσει πολύ γρήγορα.
Εάν θέλετε να βοηθήσετε στην επιτάχυνση ενός συγκεκριμένου συνόλου δεδομένων, συμπεριλάβετε μια περιγραφή του προβλήματος και το κομμάτι του συνόλου δεδομένων τουdatasets.xmlκαι να δούμε μαςτμήμα για τη λήψη πρόσθετης υποστήριξης.
- Εάν όλα μέσαERDDAP™λέ πάντα αργά, το πρόβλημα μπορεί να είναι:
- Ο υπολογιστής που τρέχειERDDAP™μπορεί να μην έχει αρκετή μνήμη ή επεξεργαστική ισχύ. Είναι καλό να τρέχεις.ERDDAP™σε ένα σύγχρονο, multi-core server. Για βαριά χρήση, ο διακομιστής θα πρέπει να έχει ένα 64-bit λειτουργικό σύστημα και 8 GB ή περισσότερο μνήμης.
- Ο υπολογιστής που τρέχειERDDAP™μπορεί επίσης να τρέχει άλλες εφαρμογές που καταναλώνουν πολλούς πόρους του συστήματος. Εάν ναι, μπορείτε να πάρετε ένα ειδικό διακομιστή γιαERDDAP♪ ♪ Για παράδειγμα (Αυτό δεν είναι έγκριση.) , μπορείτε να πάρετε ένα quad-core Mac Mini Server με 8 GB μνήμης για ~ $ 1100.
- Εάν όλα μέσαERDDAP™λέ προσωρινά Αργά, δείτε τοERDDAPΣ /erddap/status.htmlσελίδα στον περιηγητή σας.
- ΤοERDDAP™Αποτυχία φόρτωσης σελίδας κατάστασης; Εάν ναι,επανεκκίνησηERDDAP™.
- ΤοERDDAP™Φόρτωση σελίδας κατάστασης αργά (π.χ. >5 δευτερόλεπτα) ♪ ♪ Αυτό είναι ένα σημάδι ότι όλα μέσαERDDAP™τρέχει αργά, αλλά δεν είναι απαραίτητα πρόβλημα.ERDDAP™Μπορεί να είναι πολύ απασχολημένος.
- Για "Η απάντηση απέτυχε ο χρόνος (από το τελευταίο μεγάλο LoadDatasets) - Είναι μεγάλος αριθμός; Αυτό δείχνει ότι υπήρξαν πολλά αποτυχημένα αιτήματα πρόσφατα. Αυτό μπορεί να είναι πρόβλημα ή η αρχή του προβλήματος. Ο μέσος χρόνος για τις αποτυχίες είναι συχνά μεγάλος (π.χ. 210000 ms) , Που σημαίνει ότι υπήρχαν (Αλήθεια;) Πολλά ενεργά νήματα. που έδεναν πολλούς πόρους (όπως μνήμη, ανοιχτά αρχεία, ανοιχτές υποδοχές, ...) , που δεν είναι καλό.
- Για "Απάντηση Επιτυχής Χρόνος (από το τελευταίο μεγάλο LoadDatasets) - Είναι μεγάλος αριθμός; Αυτό δείχνει ότι υπήρξαν πολλά επιτυχημένα αιτήματα πρόσφατα. Αυτό δεν είναι πρόβλημα. Απλά σημαίνει ότι...ERDDAP™Είναι να πάρει βαριά χρήση.
- Είναι ο " Αριθμός των μη-Tomcat-αναμονή νήματα" διπλή μια τυπική τιμή; Αυτό είναι συχνά σοβαρό πρόβλημα που θα προκαλέσειERDDAP™να επιβραδύνει και τελικά να παγώσει. Αν αυτό επιμένει για ώρες, ίσως θέλετε να προνοήσετεεπανεκκίνησηERDDAP™.
- Στο κάτω μέρος της Περίληψης " Χρήση μνήμης" λίστα, είναι η τελευταία "Μνήμη: αυτή τη στιγμή χρησιμοποιώντας" τιμή πολύ υψηλή; Αυτό μπορεί απλώς να υποδηλώνει υψηλή χρήση, ή μπορεί να είναι ένα σημάδι προβλήματος.
- Κοίτα τη λίστα με τα νήματα και την κατάστασή τους. Κάνουν κάτι ασυνήθιστο;
- Είναι σύνδεση στο διαδίκτυο του ιδρύματος σας Αυτή τη στιγμή αργά; Αναζήτηση στο διαδίκτυο για δοκιμή ταχύτητας "internet" και χρήση ενός από τα δωρεάν online δοκιμές, όπως https://www.speakeasy.net/speedtest/ . Εάν η σύνδεση στο διαδίκτυο του ιδρύματος σας είναι αργή, τότε οι συνδέσεις μεταξύERDDAP™και απομακρυσμένες πηγές δεδομένων θα είναι αργή, και συνδέσεις μεταξύERDDAP™και ο χρήστης θα είναι αργός. Μερικές φορές, μπορείτε να το λύσετε αυτό σταματώντας την περιττή χρήση του διαδικτύου (π.χ., άτομα που παρακολουθούν βίντεο streaming ή βιντεοκλήσεις συνεδρίων) .
- Είναι σύνδεση με το διαδίκτυο του χρήστη Αυτή τη στιγμή αργά; Ο χρήστης να αναζητήσει το διαδίκτυο για δοκιμή ταχύτητας "internet" και να χρησιμοποιήσει ένα από τα δωρεάν online τεστ, όπως https://www.speakeasy.net/speedtest/ . Εάν η σύνδεση στο διαδίκτυο του χρήστη είναι αργή, επιβραδύνει την πρόσβασή τους σεERDDAP. Μερικές φορές, μπορούν να το λύσουν αυτό σταματώντας την περιττή χρήση του διαδικτύου στο ίδρυμα τους (π.χ., άτομα που παρακολουθούν βίντεο streaming ή βιντεοκλήσεις συνεδρίων) .
- Κόλλησες;
Δείτε μαςτμήμα για τη λήψη πρόσθετης υποστήριξης.
Κλείσιμο και επανεκκίνηση
- Πώς να κλείσετε και να επανεκκινήσετε Tomcat καιERDDAP™
Δεν χρειάζεται να κλείσει και να επανεκκινήσει Tomcat καιERDDAPεάνERDDAP™είναι προσωρινά αργή, αργή για κάποιο γνωστό λόγο (όπως πολλά αιτήματα από σενάρια ήWMSχρήστες) , ή να εφαρμόσει τις αλλαγές σεdatasets.xmlΑρχείο.
Θα πρέπει να κλείσει και να επανεκκινήσει Tomcat καιERDDAP™εάν χρειαστεί να εφαρμόσετε αλλαγές στο αρχείο setup.xml, ή εάνERDDAP™παγώνει, κρεμάει ή κλειδώνει. Σε ακραίες συνθήκες,JavaΜπορεί να παγώσει για ένα ή δύο λεπτά ενώ κάνει μια πλήρη συλλογή απορριμμάτων, αλλά στη συνέχεια να ανακτήσει. Έτσι είναι καλό να περιμένουμε ένα ή δύο λεπτά για να δούμε ανJava/ERDDAP™είναι πραγματικά παγωμένο ή αν απλά κάνει μια μεγάλη συλλογή σκουπιδιών. (Αν η συλλογή σκουπιδιών είναι κοινό πρόβλημα,κατανομή περισσότερης μνήμης σε Tomcat.)
Δεν συνιστώ τη χρήση του Tomcat Web Application Manager για να ξεκινήσει ή να κλείσει Tomcat. Αν δεν κλείσεις πλήρως και ξεκινήσεις το Tomcat, αργά ή γρήγορα θα έχεις προβλήματα μνήμης PermGen.
Για να κλείσει και να επανεκκινήσει Tomcat καιERDDAP:
- Εάν χρησιμοποιείτε Linux ή Mac:
(Εάν έχετε δημιουργήσει ένα ειδικό χρήστη για να εκτελέσετε Tomcat, π.χ., tomcat, θυμηθείτε να κάνετε τα ακόλουθα βήματα ως αυτός ο χρήστης.)
- Χρήση cd τομκάτ /Bin
- Χρήση ps -ef|grep tomcat για την εύρεση της διεργασίας java/tomcat ID (Ελπίζω ότι μόνο μια διαδικασία θα καταχωρηθεί) , την οποία θα ονομάσουμε ΙάβαProcessID κάτω.
- ΕάνERDDAP™είναι κατεψυγμένο/κρεμασμένο/κλειδωμένο, χρήση σκοτώσει -3 ΙάβαProcessID για να πωJava (που τρέχει Tomcat) για να κάνετε μια απόρριψη νήματος στο αρχείο καταγραφής Tomcat: τομκάτ /logs/καταλίνα.out . Μετά την επανεκκίνηση, μπορείτε να διαγνώσετε το πρόβλημα με την εύρ εση των πληροφοριών απόρριψης νημάτων (και κάθε άλλη χρήσιμη πληροφορία πάνω από αυτήν) μέσα τομκάτ /logs/catalina.out και επίσης διαβάζοντας σχετικά μέρη τουERDDAP™αρχείο καταγραφής. Αν θέλετε, μπορείτε να συμπεριλάβετε αυτές τις πληροφορίες και να δείτε μαςτμήμα για τη λήψη πρόσθετης υποστήριξης.
- Χρησιμοποιήστε ./sutdown. Σσσ.
- Χρήση ps -ef|grep tomcat επανειλημμένα μέχρι η διαδικασία java/tomcat δεν είναι καταχωρημένη.
Μερικές φορές, η διαδικασία java/tomcat θα πάρει μέχρι δύο λεπτά για να κλείσει πλήρως. Ο λόγος είναι:ERDDAP™στέλνει ένα μήνυμα στα νήματα του φόντου του για να τους πει να σταματήσουν, αλλά μερικές φορές παίρνει αυτά τα νήματα πολύ καιρό για να φτάσουν σε ένα καλό σημείο στάσης.
- Αν μετά από ένα λεπτό ή έτσι, java / tomcat δεν σταματήσει από μόνη της, μπορείτε να χρησιμοποιήσετε
Σκότωσε -9 ΙάβαProcessID
να αναγκάσει τη διαδικασία java/tomcat να σταματήσει αμέσως. Αν είναι δυνατόν, χρησιμοποιήστε αυτό μόνο ως έσχατη λύση. Ο διακόπτης -9 είναι ισχυρός, αλλά μπορεί να προκαλέσει διάφορα προβλήματα. - Για επανεκκίνησηERDDAP™, χρήση ./startup.sh
- ΠροβολήERDDAP™στον περιηγητή σας για να ελέγξετε ότι η επανεκκίνηση πέτυχε. (Μερικές φορές, πρέπει να περιμένεις 30 δευτερόλεπτα και να προσπαθήσεις να φορτώσεις.ERDDAP™ξανά στον browser σας για να πετύχει.)
- Εάν χρησιμοποιείτε Windows:
- Χρήση cd τομκάτ /Bin
- Χρήσηshutdown.bat
- Ίσως θέλετε/χρειαστείτε να χρησιμοποιήσετε το διαχειριστή εργασιών των Windows (πρόσβαση μέσω Ctrl Alt Del) να εξασφαλίσει ότι ηJava/Τομκατ/ERDDAP™διαδικασία / εφαρμογή έχει σταματήσει πλήρως. Μερικές φορές, η διαδικασία / εφαρμογή θα διαρκέσει μέχρι και δύο λεπτά για να κλείσει. Ο λόγος είναι:ERDDAP™στέλνει ένα μήνυμα στα νήματα του φόντου του για να τους πει να σταματήσουν, αλλά μερικές φορές παίρνει αυτά τα νήματα πολύ καιρό για να φτάσουν σε ένα καλό σημείο στάσης.
- Για επανεκκίνησηERDDAP™, χρήση startup.bat
- ΠροβολήERDDAP™στον περιηγητή σας για να ελέγξετε ότι η επανεκκίνηση πέτυχε. (Μερικές φορές, πρέπει να περιμένεις 30 δευτερόλεπτα και να προσπαθήσεις να φορτώσεις.ERDDAP™ξανά στον browser σας για να πετύχει.)
Συχνές Συντριβές ή Παγώσεις
ΕάνERDDAP™γίνεται αργό, συντρίβεται ή παγώνει, κάτι δεν πάει καλά. Κοίτα μέσα.ERDDAPΑρχείο καταγραφήςνα προσπαθήσω να καταλάβω την αιτία. Εάν δεν μπορείτε, παρακαλούμε να συμπεριλάβετε τις λεπτομέρειες και να δείτε μαςτμήμα για τη λήψη πρόσθετης υποστήριξης.
Το πιο κοινό πρόβλημα είναι ένας ενοχλητικός χρήστης που εκτελεί διάφορα σενάρια ταυτόχρονα ή/και κάποιος που κάνει έναν μεγάλο αριθμό άκυρων αιτημάτων. Εάν συμβεί αυτό, θα πρέπει πιθανώς να μαύρη λίστα ότι ο χρήστης. Όταν ένας χρήστης της μαύρης λίστας κάνει ένα αίτημα, το μήνυμα σφάλματος στην απάντηση τους ενθαρρύνει να σας στείλουν email για να λύσετε τα προβλήματα. Στη συνέχεια, μπορείτε να τους ενθαρρύνετε να εκτελέσουν μόνο ένα σενάριο τη φορά και να διορθώσουν τα προβλήματα στο σενάριο τους (π.χ., ζητώντας δεδομένα από ένα απομακρυσμένο σύνολο δεδομένων που δεν μπορεί να ανταποκριθεί πριν από το χρονισμό) . Βλέπε [<αίτησηBlacklist> στο δικό σαςdatasets.xmlαρχείο] (/docs/server-admin/datasets#ζητώ μαύρη λίστα) .
Σε ακραίες συνθήκες,JavaΜπορεί να παγώσει για ένα ή δύο λεπτά ενώ κάνει μια πλήρη συλλογή απορριμμάτων, αλλά στη συνέχεια να ανακτήσει. Έτσι είναι καλό να περιμένουμε ένα ή δύο λεπτά για να δούμε ανJava/ERDDAP™είναι πραγματικά παγωμένο ή αν απλά κάνει μια μεγάλη συλλογή σκουπιδιών. (Αν η συλλογή σκουπιδιών είναι κοινό πρόβλημα,κατανομή περισσότερης μνήμης σε Tomcat.)
ΕάνERDDAP™γίνεται αργή ή παγώνει και το πρόβλημα δεν είναι ένας ενοχλητικός χρήστης ή μια μακριά συλλογή απορριμμάτων, μπορείτε συνήθως να λύσετε το πρόβλημα μεεπανεκκίνησηERDDAP™. Η εμπειρία μου είναι ότιERDDAP™μπορεί να τρέξει για μήνες χωρίς να χρειαστεί επανεκκίνηση.
Παρακολούθηση
Μπορείτε να παρακολουθείτε τοERDDAPΚατάσταση με την εξέταση του/erddap/status.htmlσελίδα, ιδίως τα στατιστικά στοιχεία του ανώτερου τμήματος. ΕάνERDDAP™γίνεται αργή ή παγώνει και το πρόβλημα δεν είναι μόνο εξαιρετικά βαριά χρήση, μπορείτε συνήθως να λύσει το πρόβλημα απόεπανεκκίνησηERDDAP™. Υπάρχουν επιπλέον μετρήσεις διαθέσιμες μέσω της ενσωμάτωσης του Προμηθέα στο /erddap/metrics.
Η εμπειρία μου είναι ότιERDDAP™μπορεί να τρέξει για μήνες χωρίς να χρειαστεί επανεκκίνηση. Θα πρέπει να το επανεκκινήσετε μόνο αν θέλετε να εφαρμόσετε κάποιες αλλαγές που κάνατεERDDAPsetup.xml ή όταν πρέπει να εγκαταστήσετε νέες εκδόσεις τουERDDAP™,Java, Tomcat, ή το λειτουργικό σύστημα. Αν χρειαστεί να κάνετε επανεκκίνησηERDDAP™συχνά, κάτι δεν πάει καλά. Κοίτα μέσα.ERDDAPΑρχείο καταγραφήςνα προσπαθήσω να καταλάβω την αιτία. Εάν δεν μπορείτε, παρακαλούμε να συμπεριλάβετε τις λεπτομέρειες και να δείτε μαςτμήμα για τη λήψη πρόσθετης υποστήριξης. Ως προσωρινή λύση, μπορεί να προσπαθήσετε να χρησιμοποιήσετεΜονίτγια την παρακολούθηση σαςERDDAP™και επανεκκινήστε το αν χρειαστεί. Ή θα μπορούσες να κάνεις μια δουλειά για να ξαναρχίσεις.ERDDAP™ (προληπτικά) περιοδικά. Ίσως είναι λίγο δύσκολο να γράψεις ένα σενάριο για να αυτοματοποιήσεις την παρακολούθηση και την επανεκκίνησηERDDAP. Μερικές συμβουλές που μπορεί να βοηθήσουν:
- Μπορείτε να απλοποιήσετε τη δοκιμή εάν η διαδικασία Tomcat εξακολουθεί να εκτελείται με τη χρήση του -c διακόπτη με greep: ps - u τομκάτ Χρήστης |grep - c java (στα Αγγλικά) Αυτό θα μειώσει την έξοδο σε "1" αν η διαδικασία τομκατ είναι ακόμα ζωντανή, ή "0" αν η διαδικασία έχει σταματήσει.
- Εάν είστε καλοί με το gawk, μπορείτε να εξαγάγετε το processID από τα αποτελέσματα της ps - u τομκάτ Χρήστης |grep java, και χρησιμοποιήστε το processID σε άλλες γραμμές του σεναρίου.
Αν στήσεις Monit ή μια δουλειά cron, θα ήταν υπέροχο αν μπορούσες να μοιραστείς τις λεπτομέρειες για να ωφεληθούν άλλοι να δουν το δικό μαςτμήμα για τη λήψη πρόσθετης υποστήριξηςόπου μπορείτε να μοιραστείτε.
Περμγόνο
Αν χρησιμοποιείτε επανειλημμένα Tomcat Manager για επαναφόρτωση (ή να σταματήσει και να ξεκινήσει) ERDDAP™,ERDDAP™Μπορεί να μην ξεκινήσει και να ρίξει java.lang. Εκτός μνήμηςError: PermGen. Η λύση είναι περιοδικά (Ή κάθε φορά;) να κλείσει και να επανεκκινήσει tomcat καιERDDAP™, αντί απλά επαναφόρτωσηERDDAP.
\[Ενημέρωση: Αυτό το πρόβλημα ελαχιστοποιήθηκε ή στερεώθηκε σε μεγάλο βαθμόERDDAP™έκδοση 1.24.\]
Καταγραφή
- log.txt
ΕάνERDDAP™δεν ξεκινά ή αν κάτι δεν λειτουργεί όπως αναμένεται, είναι πολύ χρήσιμο να εξετάσουμε το σφάλμα και τα διαγνωστικά μηνύματα στοERDDAP™Αρχείο καταγραφής. - Το αρχείο καταγραφής είναι bigParentΚατάλογος /logs/log.txt ( bigParentΚατάλογος προσδιορίζεται στοsetup.xml) . Αν δεν υπάρχει κούτσουρο. txt αρχείο ή αν η καταγραφή. Το αρχείο txt δεν έχει ενημερωθεί από την επανεκκίνησηERDDAP™, κοιτάξτε στοΑρχεία καταγραφής Tomcatγια να δείτε αν υπάρχει κάποιο μήνυμα σφάλματος εκεί.
- Τύποι διαγνωστικών μηνυμάτων στο αρχείο καταγραφής:
- Η λέξη "τρομοκρατία" χρησιμοποιείται όταν κάτι πήγε τόσο στραβά που η διαδικασία απέτυχε να ολοκληρωθεί. Αν και είναι ενοχλητικό να πάρει ένα λάθος, το σφάλμα σας αναγκάζει να ασχοληθεί με το πρόβλημα. Η σκέψη μας είναι ότι είναι καλύτερο να ρίχνουμε ένα λάθος, παρά να έχουμεERDDAP™Χώμπλερ, δουλεύοντας με τρόπο που δεν περίμενες.
- Η λέξη "προειδοποίηση" χρησιμοποιείται όταν κάτι πήγε στραβά, αλλά η διαδικασία ήταν σε θέση να ολοκληρωθεί. Αυτά είναι αρκετά σπάνια.
- Οτιδήποτε άλλο είναι απλά ένα ενημερωτικό μήνυμα. Μπορείτε να ελέγξετε πόσες πληροφορίες είναι συνδεδεμένο με [<logLevel>] (/docs/server-admin/datasets#loglevel) datasets.xml.
- Επαναφόρτωση συνόλου δεδομένων και απαντήσεις χρήστη που χρειάζονται > 10 δευτερόλεπτα για να ολοκληρωθεί (επιτυχώς ή ανεπιτυχώς) σημειώνονται με " (>10!) ". Έτσι, μπορείτε να αναζητήσετε το αρχείο log.txt για αυτή τη φράση για να βρείτε τα σύνολα δεδομένων που ήταν αργά να επαναφορτωθούν ή τον αριθμό αίτησης των αιτημάτων που ήταν αργά να ολοκληρωθούν. Στη συνέχεια, μπορείτε να κοιτάξετε ψηλότερα στο αρχείο log.txt για να δείτε ποιο ήταν το πρόβλημα σύνολο δεδομένων ή τι ήταν το αίτημα του χρήστη και από ποιον ήταν. Αυτά τα αργά φορτία σύνολο δεδομένων και τα αιτήματα των χρηστών μερικές φορές φορολογούνταιERDDAP. Έτσι, γνωρίζοντας περισσότερα για αυτά τα αιτήματα μπορεί να σας βοηθήσει να εντοπίσετε και να επιλύσετε τα προβλήματα.
- Πληροφορίες γράφονται στο αρχείο καταγραφής στο δίσκο σε αρκετά μεγάλα κομμάτια. Το πλεονέκτημα είναι ότι αυτό είναι πολύ αποτελεσματικό --ERDDAP™δεν θα εμποδίσει ποτέ την αναμονή για πληροφορίες που θα γραφτούν στο αρχείο καταγραφής. Το μειονέκτημα είναι ότι η καταγραφή θα τελειώσει σχεδόν πάντα με ένα μερικό μήνυμα, το οποίο δεν θα ολοκληρωθεί μέχρι να γραφτεί το επόμενο κομμάτι. Μπορείς να το κάνεις ενημερωμένο. (Για μια στιγμή.) με την προβολή σαςERDDAPΙστοσελίδα κατάστασης στο https://your.domain.org/erddap/status.html (ήhttp://εάνhttpsδεν είναι ενεργοποιημένο) .
- Όταν τα αρχεία καταγραφής.txt φτάσουν στα 20 MB, το αρχείο μετονομάστηκε σε αρχείο καταγραφής. txt.προηγούμενο και δημιουργείται ένα νέο αρχείο καταγραφής.txt. Τα αρχεία καταγραφής δεν συσσωρεύονται.
Στη ρύθμιση.xml, μπορείτε να καθορίσετε ένα διαφορετικό μέγιστο μέγεθος για το αρχείο καταγραφής, στο MegaBytes. Το ελάχιστο επιτρεπόμενο είναι 1 (MB) . Το μέγιστο επιτρεπόμενο όριο είναι το 2000 (MB) . Η προεπιλογή είναι 20 (MB) . Για παράδειγμα:
<logMaxSizeMB>20</logMaxSizeMB>
- Όποτε κάνετε επανεκκίνησηERDDAP™, ERDDAP™κάνει ένα αντίγραφο αρχειοθέτησης του αρχείου καταγραφής.txt και καταγραφής. Txt.προηγούμενα αρχεία με χρονική σφραγίδα στο όνομα του αρχείου. Αν υπήρχε πρόβλημα πριν την επανεκκίνηση, μπορεί να είναι χρήσιμο να αναλύσουμε αυτά τα αρχειοθετημένα αρχεία για ενδείξεις σχετικά με το τι ήταν το πρόβλημα. Μπορείτε να διαγράψετε τα αρχεία αρχειοθήκης αν δεν είναι πλέον αναγκαία.
Αναλυτικό αρχείο καταγραφής.txt
ERDDAPΤο ημερολόγιο. Το αρχείο txt δεν έχει σχεδιαστεί για ανάλυση (αν και μπορεί να είστε σε θέση να δημιουργήσετε κανονικές εκφράσεις που εξάγουν επιθυμητές πληροφορίες) . Έχει σχεδιαστεί για να βοηθήσει έναν άνθρωπο να καταλάβει τι συμβαίνει όταν κάτι πάει στραβά. Όταν υποβάλλετε ένα σφάλμα ή μια αναφορά προβλήματος σεERDDAP™προγραμματιστές, όταν είναι δυνατόν, παρακαλούμε να συμπεριλάβετε όλες τις πληροφορίες από το αρχείο log.txt που σχετίζονται με το ενοχλητικό αίτημα.
Για λόγους αποδοτικότητας,ERDDAP™γράφει μόνο πληροφορίες για καταγραφή. Txt μετά από ένα μεγάλο κομμάτι των πληροφοριών έχει συσσωρευτεί. Οπότε, αν επισκεφτείς το ημερολόγιο. txt αμέσως μετά την εμφάνιση ενός σφάλματος, οι πληροφορίες που σχετίζονται με το σφάλμα μπορεί να μην έχουν ακόμα γραφτεί για την καταγραφή.txt. Για να λάβετε πλήρως ενημερωμένες πληροφορίες από το log.txt, επισκεφθείτε τοERDDAPΣσελίδα status.html. ΠότεERDDAP™διαδικασίες που ζητούν, ξεπλένει όλες τις εκκρεμείς πληροφορίες για να συνδεθείτε.txt.
ΓιαERDDAP™στατιστικά στοιχεία χρήσης, παρακαλώ χρησιμοποιήστε τοΑρχεία καταγραφής Apache ή/και Tomcatαντί γιαERDDAPΤο ημερολόγιο. Σημειώστε ότιERDDAPΣσελίδα status.html (μερικά) καιΗμερήσια έκθεση (περισσότερο) έχουν προυπολογιστεί για εσάς ένας μεγάλος αριθμός στατιστικών χρήσης.
Καταγραφές Tomcat
ΕάνERDDAP™δεν ξεκινά επειδή ένα σφάλμα συνέβη πολύ νωρίς στοERDDAPΗ εκκίνηση, το μήνυμα σφάλματος θα εμφανιστεί στα αρχεία καταγραφής του Tomcat ( τομκάτ /λογισμοί/καταλίνα. σήμερα log ή τομκάτ /logs/καταλίνα.out) , όχι μέσαERDDAPΑρχείο καταγραφής txt.
Στατιστικά χρήσης: Για τις περισσότερες πληροφορίες που οι άνθρωποι θέλουν να συλλέξουν από ένα αρχείο καταγραφής (π.χ. στατιστικά στοιχεία χρήσης) , παρακαλώ χρησιμοποιήστε τα αρχεία καταγραφής Apache ή / και Tomcat. Είναι όμορφα σχηματοποιημένα και έχουν αυτόν τον τύπο πληροφοριών. Υπάρχουν πολλά εργαλεία για την ανάλυση τους, για παράδειγμα,Καταστάσεις,Κιμπάνα Ελαστικής Αναζήτησης, καιJMeter, αλλά αναζητήστε το διαδίκτυο για να βρείτε το σωστό εργαλείο για τους σκοπούς σας.
Σημειώστε ότι τα αρχεία καταγραφής προσδιορίζουν μόνο τους χρήστες ως διευθύνσεις IP. Υπάρχουν ιστοσελίδες για να σας βοηθήσουν να πάρετε πληροφορίες σχετικά με μια δεδομένη διεύθυνση IP, π.χ.,Τι είναι η Address MyIP, αλλά κανονικά δεν θα μπορείτε να βρείτε το όνομα του χρήστη.
Επίσης, λόγω τηςDHCP, η διεύθυνση IP ενός συγκεκριμένου χρήστη μπορεί να είναι διαφορετική σε διαφορετικές ημέρες, ή διαφορετικοί χρήστες μπορεί να έχουν την ίδια διεύθυνση IP σε διαφορετικές ώρες.
Εναλλακτικά, μπορείτε να χρησιμοποιήσετε κάτι σανΑνάλυση Google. Αλλά προσέξτε: όταν χρησιμοποιείτε εξωτερικές υπηρεσίες όπως το Google Analytics, εγκαταλείπετε το απόρρητο των χρηστών σας δίνοντας στην Google πλήρη πρόσβαση στη δραστηριότητά τους στην ιστοσελίδα σας την οποία Google (Και άλλοι;) μπορεί να κρατήσει για πάντα και να χρησιμοποιήσει για οποιοδήποτε σκοπό (Ίσως όχι τεχνικά, αλλά πιθανόν στην πράξη) . Οι χρήστες σας δεν έχουν συναινέσει σε αυτό και πιθανότατα δεν γνωρίζουν ότι θα εντοπιστούν στην ιστοσελίδα σας, ακριβώς όπως πιθανότατα δεν γνωρίζουν τον βαθμό που εντοπίζονται σε όλες σχεδόν τις ιστοσελίδες. Αυτές τις μέρες, πολλοί χρήστες ανησυχούν πολύ ότι ό, τι κάνουν στο διαδίκτυο παρακολουθείται από αυτές τις μεγάλες εταιρείες (Google, Facebook, κλπ.) και από την κυβέρνηση, και βρείτε αυτό μια αδικαιολόγητη εισβολή στη ζωή τους (Όπως και στο βιβλίο, 1984) . Αυτό έχει οδηγήσει πολλούς χρήστες να εγκαταστήσετε προϊόντα όπωςΑσβός προσωπικών δεδομένωνγια την ελαχιστοποίηση της παρακολούθησης, για τη χρήση εναλλακτικών προγραμμάτων περιήγησης όπωςΠεριηγητής Tor (ή να απενεργοποιήσετε την παρακολούθηση σε παραδοσιακούς περιηγητές) , και να χρησιμοποιήσει εναλλακτικές μηχανές αναζήτησης όπωςΠάπια Πάπια Go. Εάν χρησιμοποιείτε μια υπηρεσία όπως η Google Analytics, παρακαλούμε τουλάχιστον να τεκμηριώσετε τη χρήση της και τις συνέπειες με την αλλαγή της<standardPrivacyPolicy> tag inERDDAPΣ \[τομκάτ\]/webapps/erddap/WEB-INF/classes/gov/noaa/pfel/erddap/util/messages.xml αρχείο.
Καταγραφή e-mail
- emailLogYEAR-MM-DD.txt
ERDDAP™γράφει πάντα το κείμενο όλων των εξωτερικών μηνυμάτων ηλεκτρονικού ταχυδρομείου στο email της τρέχουσας ημέρας Αρχείο LogYEAR-MM-DD.txt στο bigParentΚατάλογος logs ( bigParentΚατάλογος προσδιορίζεται στοsetup.xml) . - Αν ο διακομιστής δεν μπορεί να στείλει μηνύματα email, ή αν έχετε ρυθμίσειERDDAP™να μην στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου, ή αν είστε απλά περίεργοι, αυτό το αρχείο είναι ένας βολικός τρόπος για να δείτε όλα τα μηνύματα ηλεκτρονικού ταχυδρομείου που έχουν σταλεί.
- Μπορείτε να διαγράψετε τα αρχεία καταγραφής email των προηγούμενων ημερών αν δεν είναι πλέον αναγκαία.
Ημερήσια έκθεση
Η Daily Report έχει πολλές χρήσιμες πληροφορίες -- όλες τις πληροφορίες από εσάςERDDAPΣ/erddap/status.htmlσελίδακαι περισσότερα.
- Είναι η πιο πλήρης περίληψη σαςERDDAPΚατάσταση.
- Μεταξύ άλλων στατιστικών, περιλαμβάνει μια λίστα συνόλων δεδομένων που δεν φορτώνουν και τις εξαιρέσεις που δημιούργησαν.
- Δημιουργείται όταν ξεκινάτεERDDAP™ (αμέσως μετάERDDAP™τελειώνει προσπαθώντας να φορτώσει όλα τα σύνολα δεδομένων) και παράγεται σύντομα μετά τις 7 π.μ. τοπική ώρα κάθε πρωί.
- Κάθε φορά που δημιουργείται, είναι γραμμένο σεERDDAPΑρχείο καταγραφής txt.
- Κάθε φορά που δημιουργείται, αποστέλλεται μ ε email<emailDailyReportsT> και<Αποστολή στα πάντα Στο> (που προσδιορίζονται στοsetup.xml) υπό την προϋπόθεση ότι έχετε δημιουργήσει το σύστημα email (σε setup.xml) .
Σελίδα κατάστασης
Μπορείτε να δείτε την κατάσταση τουERDDAP™από οποιοδήποτε πρόγραμμα περιήγησης<βάσηUrl>/erddap/status.html
- Αυτή η σελίδα δημιουργείται δυναμικά, έτσι ώστε να έχει πάντα μέχρι στιγμής στατιστικά στοιχεία για σαςERDDAP.
- Περιλαμβάνει στατιστικά στοιχεία σχετικά με τον αριθμό των αιτημάτων, τη χρήση μνήμης, τα ίχνη στοίβας νημάτων, το taskThread, κλπ.
- Επειδή η σελίδα κατάστασης μπορεί να προβληθεί από οποιονδήποτε, δεν περιλαμβάνει αρκετά πολλές πληροφορίες όπως ηΗμερήσια έκθεση.
Προσθήκη/αλλαγή συνόλων δεδομένων
ERDDAP™συνήθως ξαναδιαβάσειςdatasets.xmlκάθε φόρτωσηΣτοιχεία δεδομένωνminutes (προσδιορίζονται στοsetup.xml) . Έτσι μπορείτε να κάνετε αλλαγές σεdatasets.xmlοποιαδήποτε στιγμή, ακόμη και ότανERDDAP™τρέχει. Ένα νέο σύνολο δεδομένων θα ανιχνευθεί σύντομα, συνήθως μέσα φόρτωσηΣτοιχεία δεδομένωνminutes . Ένα αλλαγμένο σύνολο δεδομένων θα επαναφορτωθεί όταν είναι επαναφόρτωση όλων των λεπτών παλιά (όπως προσδιορίζεται στοdatasets.xml) .
Σημαία
-
Αρχείο σημαίαςΣημειώσειςERDDAP™Για να προσπαθήσετε να επαναφορτώσετε ένα σύνολο δεδομένων όσο το δυνατόν συντομότερα
-
ERDDAP™δεν θα παρατηρήσετε καμία αλλαγή στη ρύθμιση ενός συνόλου δεδομένων σεdatasets.xmlέωςERDDAP™επαναφορτώνει το σύνολο δεδομένων.
-
Για να πωERDDAP™να επαναφορτώσει ένα σύνολο δεδομένων το συντομότερο δυνατόν (πριν από το σύνολο δεδομένων)<reloadEveryNMinutes> θα προκαλούσε την επαναφόρτωσή του), βάλτε ένα αρχείο bigParentΚατάλογος /σημαία ( bigParentΚατάλογος προσδιορίζεται στοsetup.xml) που έχει το ίδιο όνομα με το σύνολο δεδομένωνdatasetID. Αυτό λέειERDDAP™να προσπαθήσουμε να ξαναφορτώσουμε το σύνολο δεδομένων το συντομότερο δυνατόν. Η παλιά έκδοση του συνόλου δεδομένων θα παραμείνει διαθέσιμη στους χρήστες μέχρι η νέα έκδοση να είναι διαθέσιμη και να ανταλλάξει ατομικά στη θέση της. ΓιαEDDGridΑπό αρχεία και πίνακα EDD FromFiles, το σύνολο δεδομένων επαναφόρτωσης θα αναζητήσει νέα ή αλλαγμένα αρχεία, θα τα διαβάσει και θα τα ενσωματώσει στο σύνολο δεδομένων. Έτσι ο χρόνος επαναφόρτωσης εξαρτάται από τον αριθμό των νέων ή τροποποιημένων αρχείων. Εάν το σύνολο δεδομένων έχει ενεργό="ψευδής",ERDDAP™θα αφαιρέσει το σύνολο δεδομένων.
Σημαία κακών αρχείων
-
Μία παραλλαγή του καταλόγου /flag είναι ο κατάλογος /badFilesFlag. (ΠροστέθηκεERDDAP™v2.12.)
Εάν βάλετε ένα αρχείο στο bigParentΚατάλογος /badFilesFlag κατάλογος με έναdatasetIDως όνομα αρχείου (το περιεχόμενο του αρχείου δεν έχει σημασία) , τότε αμέσως μόλιςERDDAP™βλέπει τους κακούς φακέλους Αρχείο σημαίας,ERDDAP™Θα:- Διαγραφή του αρχείου badFilesFlag.
- Διαγραφή των κακών αρχείων.ncαρχείο (αν υπάρχει) , η οποία έχει τη λίστα των κακών αρχείων για το σύνολο δεδομένων. Για σύνολα δεδομένων όπωςEDDGridSideBySide που έχουν παιδιάDatasets, αυτό επίσης διαγράφει τα κακάΑρχεία.ncαρχείο για όλα τα σύνολα δεδομένων παιδιών.
- Επαναφόρτωση του συνόλου δεδομένων το συντομότερο δυνατόν.
Έτσι, αυτό προκαλείERDDAP™να προσπαθήσει ξανά να συνεργαστεί με τα αρχεία προηγουμένως (Λάθος;) Σημαδεμένος ως κακός.
Σκληρή σημαία
-
Μια άλλη παραλλαγή του καταλόγου /flag είναι ο κατάλογος /hardFlag. (ΠροστέθηκεERDDAP™v1.74.)
Αν βάλετε ένα αρχείο bigParentΚατάλογος /σκληρή πλάκα με έναdatasetIDως όνομα αρχείου (το περιεχόμενο του αρχείου δεν έχει σημασία) , τότε αμέσως μόλιςERDDAP™βλέπει το σκληρό Αρχείο σημαίας,ERDDAP™Θα:- Διαγραφή του αρχείου hardFlag.
- Αφαίρεση του συνόλου δεδομένων απόERDDAP.
- Διαγραφή όλων των πληροφοριών πουERDDAP™έχει αποθηκευτεί σχετικά με αυτό το σύνολο δε δομένων. ΓιαEDDGridΑπό αρχεία και πίνακα EDD FromFiles subclasses, αυτό διαγράφει την εσωτερική βάση δεδομένων των αρχείων δεδομένων και των περιεχομένων τους. Για σύνολα δεδομένων όπωςEDDGridSideBySide που έχουν παιδιάDatasets, αυτό επίσης διαγράφει την εσωτερική βάση δεδομένων των αρχείων δεδομένων και το περιεχόμενό τους για όλα τα σύνολα δεδομένων παιδιών.
- Ξαναφόρτωσε το σύνολο δεδομένων. ΓιαEDDGridΑπό αρχεία και πίνακα EDD Από αρχεία υποκλάσεις, αυτό προκαλείERDDAP™για να ξαναδιαβάσει όλα των αρχείων δεδομένων. Έτσι, ο χρόνος επαναφόρτωσης εξαρτάται από τον συνολικό αριθμό των αρχείων δεδομένων στο σύνολο δεδομένων. Επειδή το σύνολο δεδομένων είχε αφαιρεθεί απόERDDAP™όταν το hardFlag έγινε αντιληπτό, το σύνολο δεδομένων δεν θα είναι διαθέσιμο μέχρι να ολοκληρωθεί η επαναφόρτωση του συνόλου δεδομένων. Κάνε υπομονή. Κοιτάξτε στοlog.txtαρχειοθετείτε αν θέλετε να δείτε τι συμβαίνει.
Η παραλλαγή hardFlag διαγράφει τις αποθηκευμένες πληροφορίες του συνόλου δεδομένων ακόμα και αν το σύνολο δεδομένων δεν είναι φορτωμένο επί του παρόντοςERDDAP.
Σκληρό Οι σημαίες είναι πολύ χρήσιμες όταν κάνεις κάτι που προκαλεί μια αλλαγή στο πώςERDDAP™διαβάζει και ερμηνεύει τα δεδομένα πηγής, για παράδειγμα, όταν εγκαταστήσετε μια νέα έκδοση τουERDDAP™ή όταν έχετε κάνει μια αλλαγή στον ορισμό ενός συνόλου δεδομένων στοdatasets.xml
- Τα περιεχόμενα της σημαίας, των κακών ΑρχείωνFlag, και των σκληρών αρχείων Flag είναι άσχετα.ERDDAP™απλά κοιτάζει το όνομα του αρχείου για να πάρει τοdatasetID.
- Μεταξύ σημαντικών επαναφορτισμών συνόλου δεδομένων,ERDDAP™ψάχνει συνεχώς για σημαία, badFilesFlag, και σκληρά αρχεία Flag.
- Σημειώστε ότι όταν ένα σύνολο δεδομένων επαναφορτώνεται, όλα τα αρχεία στο bigParentΚατάλογος /κρύπτη/ datasetID ο κατάλογος διαγράφεται. Αυτό περιλαμβάνει.ncκαι αρχεία εικόνων που συνήθως είναι κρυμμένα για ~15 λεπτά.
- Σημειώστε ότι εάν το σύνολο δεδομένων περιλαμβάνει xmlενεργό="ψευδής", μια σημαία θα προκαλέσει το σύνολο δεδομένων να γίνει ανενεργό (εάν είναι ενεργό) , και σε κάθε περίπτωση, δεν επαναφορτώνεται.
- Όποτε θες.ERDDAP™εκτελεί το LoadDatasets για να κάνει μια σημαντική επαναφόρτωση (η χρονομετρημένη επαναφόρτωση ελέγχεται από<φόρτωσηΣτοιχεία δεδομένωνMinutes>) ή μια μικρή επαναφόρτωση (ως αποτέλεσμα εξωτερικής ή εσωτερικής σημαίας) ,ERDDAP™διαβάζει όλα<αποσυμπιεσμένοCacheMaxGB>,<αποσυμπιεσμένοCacheMaxMinutesOld>,<χρήστη>,<αίτησηBlacklist>,<αργάDownTroubleMillis>, και<συνδρομήEmailBlacklist> ετικέτες και διακόπτες στις νέες ρυθμίσεις. Έτσι μπορείτε να χρησιμοποιήσετε μια σημαία για να πάρετεERDDAP™να παρατηρήσετε αλλαγές σε αυτές τις ετικέτες το συντομότερο δυνατόν.
Ορισμός σημαίας συνόλου δεδομένων
-
ERDDAP™έχει μια υπηρεσία ιστού, έτσι ώστε οι σημαίες μπορούν να οριστούν μέσω URL.
- Για παράδειγμα,
https://coastwatch.pfeg.noaa.gov/erddap/setDatasetFlag.txt?datasetID=rPmelTao&flagKey=123456789
(Αυτή είναι ψεύτικη σημαία. Κλειδί) θα ορίσει μια σημαία για το σύνολο δεδομένων rPmelTao. - Υπάρχει μια διαφορετική σημαίαKey για κάθεdatasetID.
- Οι διαχειριστές μπορούν να δουν μια λίστα με URL σημαίας για όλα τα σύνολα δεδομένων κοιτάζοντας το κάτω μέρος τουςΗμερήσια έκθεσηmail.
- Οι διαχειριστές θα πρέπει να αντιμετωπίζουν αυτές τις διευθύνσεις URL ως εμπιστευτικές, δεδομένου ότι δίνουν σε κάποιον το δικαίωμα να επαναφέρει ένα σύνολο δεδομένων κατά βούληση.
- Αν νομίζετε ότι τα κλειδιά της σημαίας έχουν πέσει στα χέρια κάποιου που τους κακοποιεί, μπορείτε να αλλάξετε<σημαίαKeykey> insetup.xmlκαι επανεκκίνησηERDDAPστη βίαERDDAP™για να δημιουργήσετε και να χρησιμοποιήσετε ένα διαφορετικό σύνολο κλειδιών σημαίας.
- Αν αλλάξεις<σημαίαKeyKey>, διαγραφή όλων των παλαιών συνδρομών (δείτε τη λίστα στην Καθημερινή Αναφορά σας) και θυμηθείτε να στείλετε τα νέα URL στους ανθρώπους που θέλετε να τα έχετε.
- Για παράδειγμα,
https://coastwatch.pfeg.noaa.gov/erddap/setDatasetFlag.txt?datasetID=rPmelTao&flagKey=123456789
Το σύστημα σημαίας μπορεί να χρησιμεύσει ως βάση για έναν αποτελεσματικότερο μηχανισμό για την αφήγησηERDDAP™πότε να φορτώσετε εκ νέου ένα σύνολο δεδομένων. Για παράδειγμα, θα μπορούσατε να ορίσετε ένα σύνολο δεδομένων<reloadEveryNMinutes> σε μεγάλο αριθμό (π.χ. 10080 = 1 εβδομάδα) . Μετά, όταν ξέρεις ότι το σύνολο δεδομένων έχει αλλάξει (Ίσως επειδή πρόσθεσες ένα αρχείο στον κατάλογο δεδομένων του συνόλου δεδομένων.) , να θέσει μια σημαία έτσι ώστε το σύνολο δεδομένων επαναφορτώνεται το συντομότερο δυνατόν. Οι σημαίες συνήθως φαίνονται γρήγορα. Αλλά αν το νήμα LoadDatasets είναι ήδη απασχολημένο, μπορεί να είναι λίγο πριν είναι διαθέσιμο να δράσει στη σημαία. Αλλά το σύστημα σημαίας είναι πολύ πιο ανταποκρίνεται και πολύ πιο αποτελεσματική από ό, τι ο καθορισμός<reloadEveryNMinutes> σε ένα μικρό αριθμό.
Αφαίρεση συνόλων δεδομένων
Εάν ένα σύνολο δεδομένων είναι ενεργόERDDAP™και θέλετε να το απενεργοποιήσετε προσωρινά ή μόνιμα:
- Μέσαdatasets.xmlγια το σύνολο δεδομένων, σύνολοενεργό="ψευδής"στην ετικέτα του συνόλου δεδομένων.
- Περίμενε.ERDDAP™για την αφαίρεση του συνόλου δεδομένων κατά την επόμενη σημαντική επαναφόρτωση ήθέση σημαίαςγια να πει το σύνολο δεδομένωνERDDAP™να παρατηρήσετε αυτή την αλλαγή το συντομότερο δυνατόν. Όταν το κάνεις αυτό,ERDDAP™δεν πετάει καμία πληροφορία που μπορεί να έχει αποθηκεύσει για το σύνολο δεδομένων και σίγουρα δεν κάνει τίποτα στα πραγματικά δεδομένα.
- Στη συνέχεια, μπορείτε να αφήσετε το ενεργό=" false" σύνολο δεδομένωνdatasets.xmlή να το αφαιρέσετε.
Πότε επαναφορτώνονται τα Datasets;
Ένα νήμα που ονομάζεται RunLoadDatasets είναι το κύριο νήμα που ελέγχει όταν επαναφορτώνονται τα σύνολα δεδομένων. Διαδρομή Τα σύνολα δεδομένων βρόχους για πάντα:
-
Το RunLoadDatasets σημειώνει την τρέχουσα ώρα.
-
RunLoadDatasets ξεκινά ένα νήμα φορτίωνDatasets για να κάνει μια " majorLoad". Μπορείτε να δείτε πληροφορίες σχετικά με την τρέχουσα/προηγούμενη μεγάλη θέση στην κορυφή τουERDDAPΣ /erddap/status.htmlσελίδα (για παράδειγμα,παράδειγμα σελίδας κατάστασης) .
- Φόρτωση συνόλων δεδομένωνdatasets.xml.
- Το LoadDatasets διαβάζει μέσω του αντιγράφου τουdatasets.xmlκαι, για κάθε σύνολο δεδομένων, βλέπει αν το σύνολο δεδομένων πρέπει να είναι (οπ) φορτώνεται ή αφαιρείται.
- Εάν ασημαίααρχείο υπάρχει για αυτό το σύνολο δεδομένων, το αρχείο διαγράφεται και το σύνολο δεδομένων αφαιρείται εάν ενεργό="ψευδής" ή (οπ) φορτωμένο εάν ενεργό =" true" (ανεξάρτητα από την ηλικία του συνόλου δεδομένων) .
- Εάν το σύνολο δεδομένων.xml κομμάτι έχει ενεργό="ψευδής" και το σύνολο δεδομένων φορτώνεται σήμερα (ενεργό) , είναι ξεφο ρτωμένο (αφαίρεση) .
- Εάν το σύνολο δεδομένων έχει ενεργό="αλήθεια" και το σύνολο δεδομένων δεν είναι ήδη φορτωμένο, φορτώνεται.
- Εάν το σύνολο δεδομένων έχει ενεργό="αλήθεια" και το σύνολο δεδομένων έχει ήδη φορτωθεί, το σύνολο δεδομένων επαναφορτίζεται εάν η ηλικία του συνόλου δεδομένων (χρόνος από την τελευταία φόρτωση) είναι μεγαλύτερη από την<επαναφόρτωση Κάθε λεπτό> (προεπιλογή = 10080 λεπτά) , διαφορετικά, το σύνολο δεδομένων αφήνεται μόνο του.
- Η φόρτωση δεδομένων τελειώνει.
Το νήμα RunLoadDatasets περιμένει το νήμα LoadDatasets να τελειώσει. Αν το σύνολο φορτίων απαιτεί περισσότερο χρόνο από το φορτίο Λεπτά λεπτά (όπως ορίζεται στο setup.xml) , RunLoadDatasets διακόπτει το νήμα LoadDatasets. Ιδανικά, το LoadDatasets παρατηρεί τη διακοπή και τελειώνει. Αλλά αν δεν παρατηρήσει τη διακοπή μέσα σε ένα λεπτό, RunLoadDatasets καλεί φόρτωσηDatasets. Σταμάτημα () , το οποίο είναι ανεπιθύμητο. 3. Ενώ ο χρόνος από την έναρξη του τελευταίου μείζονοςLoad είναι μικρότερος από το φορτίοDatasets Λεπτά λεπτά (όπως ορίζεται στο setup.xml, π.χ., 15 λεπτά) , RunLoadDatasets επανειλημμένα ψάχνει γιασημαίααρχεία στο bigParentΚατάλογος Κατάλογος σημαδιών. Εάν βρεθεί ένα ή περισσότερα αρχεία σημαίας, διαγράφονται, και RunLoadDatasets ξεκινά ένα νήμα φορτίωνDatasets για να κάνει ένα "minorLoad" (majorLoad=ψευδής) . Δεν μπορείτε να δείτε μικρές πληροφορίες Load σαςERDDAPΣ/erddap/status.htmlσελίδα.
- Φόρτωση συνόλων δεδομένωνdatasets.xml.
- Το LoadDatasets διαβάζει μέσω του αντιγράφου τουdatasets.xmlκαι, για κάθε σύνολο δεδομένων για το οποίο υπήρχε αρχείο σημαίας:
- Εάν το σύνολο δεδομένων.xml κομμάτι έχει ενεργό="ψευδής" και το σύνολο δεδομένων φορτώνεται σήμερα (ενεργό) , είναι ξεφορτωμένο (αφαίρεση) .
- Εάν το σύνολο δεδομένων έχει ενεργό="αλήθεια", το σύνολο δεδομένων είναι (οπ) φορτωμένο, ανεξάρτητα από την ηλικία του. Τα σύνολα δεδομένων που δεν έχουν σφραγιστεί αγνοούνται.
- Η φόρτωση δεδομένων τελειώνει.
- Διαδρομή Τα Datasets επιστρέφουν στο 1ο βήμα.
Σημειώσεις:
-
Εκκίνηση Όταν κάνετε επανεκκίνησηERDDAP™, κάθε σύνολο δεδομένων με ενεργό=" true" φορτώνεται.
-
λανθάνουσα μνήμη Όταν ένα σύνολο δεδομένων είναι (οπ) φορτωμένο, λανθάνουσα μνήμη του (συμπεριλαμβανομένων τυχόν αρχείων απόκρισης δεδομένων ή/και αρχείων εικόνας) είναι άδειο.
-
Πολλά Datasets Εάν έχετε πολλά σύνολα δεδομένων ή/και ένα ή περισσότερα σύνολα δεδομένων αργούν να (οπ) φορτίο, ένα νήμα φορτίων μπορεί να πάρει πολύ χρόνο για να τελειώσει το έργο του, ίσως ακόμη και περισσότερο από το φορτίοDatasets Λίγα λεπτά.
-
Ένα νήμα φορτωμένων δεδομένων Δεν υπάρχει ποτέ πάνω από ένα νήμα LoadDatasets να τρέχει ταυτόχρονα. Εάν μια σημαία οριστεί όταν το LoadDatasets είναι ήδη σε λειτουργία, η σημαία πιθανότατα δεν θα γίνει αντιληπτή ή δεν θα ενεργοποιηθεί μέχρι να ολοκληρωθεί το thread του LoadDatasets. YouΑυτό είναι ηλίθιο. Γιατί δεν ξεκινάς ένα σωρό νέα νήματα για να φορτώσεις σύνολα δεδομένων; Αλλά αν έχετε πολλά σύνολα δεδομένων που παίρνουν δεδομένα από έναν απομακρυσμένο εξυπηρετητή, ακόμη και ένα νήμα LoadDatasets θα θέσει σημαντική πίεση στον απομακρυσμένο εξυπηρετητή. Το ίδιο ισχύει αν έχετε πολλά σύνολα δεδομένων που παίρνουν δεδομένα από τα αρχεία σε ένα RAID. Υπάρχουν ταχέως μειωμένες αποδόσεις από την ύπαρξη περισσότερων από ένα νημάτων LoadDatasets.
-
Σημαία = το συντομότερο δυνατόν Θέτοντας μια σημαία μόνο σήματα ότι το σύνολο δεδομένων θα πρέπει να (οπ) φορτώθηκε το συντομότερο δυνατόν, όχι απαραίτητα αμέσως. Εάν δεν εκτελείται αυτή τη στιγμή το νήμα του συνόλου δεδομένων φόρτωσηςDatasets, το σύνολο δεδομένων θα αρχίσει να επαναφορτώνεται μέσα σε λίγα δευτερόλεπτα. Αλλά αν ένα νήμα LoadDatasets εκτελείται αυτή τη στιγμή, το σύνολο δεδομένων πιθανότατα δεν θα επαναφορτωθεί μέχρι να τελειώσει το νήμα LoadDatasets.
-
Το αρχείο σημαίας διαγράφηκε Γενικά, αν βάλετε ένα αρχείο σημαίας στο bigParentΚατάλογος Κατάλογος /erddap/flag (με επίσκεψη στη σημαία του συνόλου δεδομένων Url ή βάζοντας ένα πραγματικό αρχείο εκεί) , το σύνολο δεδομένων θα επαναφορτωθεί συνήθως πολύ σύντομα μετά τη διαγραφή του αρχείου σημαίας.
-
Σημαία έναντι μικρής επαναφόρτωσης Κάθε λεπτό Εάν έχετε κάποιο εξωτερικό τρόπο να γνωρίζετε πότε ένα σύνολο δεδομένων πρέπει να επαναφορτωθεί και αν είναι βολικό για εσάς, ο καλύτερος τρόπος για να βεβαιωθείτε ότι ένα σύνολο δεδομένων είναι πάντα ενημερωμένο είναι να ρυθμίσετε την επαναφόρτωσή του Κάθε λεπτό σε μεγάλο αριθμό (10080;) και ν α θέσει σημαία (μέσω σεναρίου;) όποτε χρειάζεται να ξαναγεμίσει. Αυτό είναι το σύστημα πουEDDGridΑπό το Erddap και το EDDTableFromErddap λαμβάνουν μηνύματα ότι το σύνολο δεδομένων πρέπει να επαναφορτωθεί.
-
Κοιτάξτε στο log.txt Πολλές σχετικές πληροφορίες έχουν γραφτεί στο bigParentΚατάλογος Αρχείο /logs/log.txt. Αν τα πράγματα δεν λειτουργούν όπως περιμένεις, κοιτάζοντας τον κορμό. txt σας επιτρέπει να διαγνώσετε το πρόβλημα με την εύρεση ακριβώς τιERDDAP™Ναι.
-
Αναζήτηση for majorLoad=true" για την έναρξη των μεγάλων νημάτων LoadDataset.
-
Αναζήτηση για " majorLoad=ψευδής" για την έναρξη των μικρών threads LoadDatasets.
-
Αναζήτηση ενός δοσμένου συνόλου δεδομένωνdatasetIDγια πληροφορίες σχετικά με αυτό (οπ) φορτωμένο ή queried.
-
Ακυρωμένες Απαντήσεις
Γενικά,ERDDAP™δεν αποθηκεύει (Αποθήκευση) απαντήσεις στα αιτήματα των χρηστών. Το σκεπτικό ήταν ότι τα περισσότερα αιτήματα θα ήταν ελαφρώς διαφορετικά ώστε η κρύπτη να μην είναι πολύ αποτελεσματική. Οι μεγαλύτερες εξαιρέσεις είναι οι αιτήσεις για αρχεία εικόνας (τα οποία είναι κρυμμένα από περιηγητές και προγράμματα όπωςGoogle Earthσυχνά re-ζητούν εικόνες) και αιτήσεις για.ncαρχεία (Γιατί δεν μπορούν να δημιουργηθούν κατά την πτήση.) .ERDDAP™αποθηκεύει τα αποθηκευμένα αρχεία κάθε συνόλου δεδομένων σε διαφορετικό κατάλογο: bigParentΚατάλογος - Ναι. datasetID δεδομένου ότι ένας ενιαίος κατάλογος cache μπορεί να έχει ένα τεράστιο αριθμό αρχείων που μπορεί να γίνει αργή στην πρόσβαση. Τα αρχεία αφαιρούνται από την κρύπτη για έναν από τους τρεις λόγους:
- Όλα τα αρχεία σε αυτή την κρύπτη διαγράφονται ότανERDDAP™επανεκκινήθηκε.
- Περιοδικά, κάθε αρχείο περισσότερο από<λανθάνουσα μνήμηMinutes> παλιά (όπως προσδιορίζεται στοsetup.xml) θα διαγραφεί. Αφαίρεση αρχείων στην κρύπτη με βάση την ηλικία (δεν χρησιμοποιείται λιγότερο πρόσφατα) εξασφαλίζει ότι τα αρχεία δεν θα παραμείνουν στην κρύπτη πολύ καιρό. Αν και μπορεί να φαίνεται ότι ένα δεδομένο αίτημα πρέπει πάντα να επιστρέφει την ίδια απάντηση, αυτό δεν είναι αλήθεια. Για παράδειγμα, αtabledapαίτημα που περιλαμβάνει & χρόνο> μερι κά Χρόνος θα αλλάξει εάν καταφθάσουν νέα δεδομένα για το σύνολο δεδομένων. Και ένα αίτημα που περιλαμβάνει\[τελευταίο\]για τη χρονική διάσταση θα αλλάξει εάν καταφθάνουν νέα δεδομένα για το σύνολο δεδομένων.
- Οι εικόνες που δείχνουν τις συνθήκες σφάλματος είναι κρυμμένες, αλλά μόνο για λίγα λεπτά (Είναι δύσκολη κατάσταση.) .
- Κάθε φορά που ένα σύνολο δεδομένων επαναφορτώνεται, όλα τα αρχεία στην κρύπτη του συνόλου δεδομένων διαγράφονται. Επειδή τα αιτήματα μπορεί να είναι για την"last"δείκτης σε ένα πλέγμα σύνολο δεδομένων, τα αρχεία της λανθάνουσας μνήμης μπορεί να είναι άκυρα όταν ένα σύνολο δεδομένων επαναφορτώνεται.
Αποθηκευμένες πληροφορίες συνόλου δεδομένων
Για όλους τους τύπους συνόλων δεδομένων,ERDDAP™συγκεντρώνει πολλές πληροφορίες όταν φορτώνεται ένα σύνολο δεδομένων και τις διατηρεί στη μνήμη. Αυτό επιτρέπειERDDAP™να ανταποκρίνεται πολύ γρήγορα σε αναζητή σεις, αιτήσεις για λίστες συνόλων δεδομένων και αιτήματα για πληροφορίες σχετικά με ένα σύνολο δεδομένων.
Για μερικούς τύπους συνόλων δεδομένων (κυρίωςEDDGridΕλήφθη, EDDTableCopy,EDDGridΑπό Xxx Αρχεία και EDDTableFrom Xxx Αρχεία) ,ERDDAP™αποθηκεύει στο δίσκο κάποιες πληροφορίες σχετικά με το σύνολο δεδομένων που επαναχρησιμοποιείται όταν επαναφορτίζεται το σύνολο δεδομένων. Αυτό επιταχύνει σημαντικά τη διαδικασία επαναφόρτωσης.
- Μερικά από τα αρχεία πληροφοριών συνόλου δεδομένων είναι ανθρώπινα αναγνώσιμα.jsonαρχεία και αποθηκεύονται σε bigParentΚατάλογος / σύνολο δεδομένων/ τελευταία2LettersOfDatasetID/datasetID .
- ERDDAP™διαγράφει αυτά τα αρχεία μόνο σε ασυνήθιστες περιπτώσεις, π.χ., εάν προσθέσετε ή διαγράψετε μια μεταβλητή από το σύνολο δεδομένωνdatasets.xmlΚομμάτι.
- Οι περισσότερες αλλαγές σε ένα σύνολο δεδομένωνdatasets.xmlκομμάτι (π.χ., αλλαγή ενός παγκόσμιου χαρακτηριστικού ή ενός μεταβλητού χαρακτηριστικού) δεν απαιτούν να διαγράψετε αυτά τα αρχεία. Ένα κανονικό σύνολο δεδομένων θα χειριστεί αυτούς τους τύπους αλλαγών. Μπορείς να καταλάβεις.ERDDAP™να επαναφορτώσει ένα σύνολο δεδομένων το συντομότερο δυνατόν με τον καθορισμό ενόςσημαίαγια το σύνολο δεδομένων.
- Ομοίως, η προσθήκη, διαγραφή, ή αλλαγή των αρχείων δεδομένων θα χειριστεί ότανERDDAP™επαναφορτώνει ένα σύνολο δεδομένων. Αλλά...ERDDAP™θα παρατηρήσετε αυτό το είδος της αλλαγής σύντομα και αυτόματα εάν το σύνολο δεδομένων χρησιμοποιεί το [<ενημέρωσηEveryNMillis>] (/docs/server-admin/datasets#updateeverenmillis) σύστημα.
- Θα πρέπει μόνο σπάνια να είναι απαραίτητο για να διαγράψετε αυτά τα αρχεία. Η πιο κοινή κατάσταση όπου θα πρέπει να αναγκάσειERDDAP™για τη διαγραφή των αποθηκευμένων πληροφοριών (επειδή είναι ξεπερασμένη/μη σωστή και δεν θα καθοριστεί αυτόματα απόERDDAP) είναι όταν κάνετε αλλαγές στο σύνολο δεδομένωνdatasets.xmlκομμάτι που επηρεάζει το πώςERDDAP™ερμηνεύει τα δεδομένα στα αρχεία πηγαίων δεδομένων, για παράδειγμα, αλλάζοντας τη συμβολοσειρά μορφής της μεταβλητής χρόνου.
- Για τη διαγραφή των αποθηκευμένων αρχείων πληροφοριών ενός συνόλου δεδομένων από έναERDDAP™Αυτό τρέχει. (ακόμα και αν το σύνολο δεδομένων δεν είναι φορτωμένο) , ορίστε ένασκληρό Σημαίαγια το σύνολο δεδομένων. Θυμηθείτε ότι αν ένα σύνολο δεδομένων είναι μια συγκέντρωση ε νός μεγάλου αριθμού αρχείων, η επαναφόρτωση του συνόλου δεδομένων μπορεί να πάρει σημαντικό χρόνο.
- Για να διαγράψετε τα αποθηκευμένα αρχεία πληροφοριών ενός συνόλου δεδομένων ότανERDDAP™Δεν τρέχει, τρέχει.ΔΑΠγια το εν λόγω σύνολο δεδομένων (το οποίο είναι ευκολότερο από το να υπολογίζετε σε ποιον κατάλογο βρίσκεται η πληροφορία και να διαγράφετε τα αρχεία με το χέρι) . Θυμηθείτε ότι αν ένα σύνολο δεδομένων είναι μια συγκέντρωση ενός μεγάλου αριθμού αρχείων, η επαναφόρτωση του συνόλου δεδομένων μπορεί να πάρει σημαντικό χρόνο.
Κατάσταση μνήμης
ERDDAP™Δεν πρέπει ποτέ να πέσει ή να παγώσει. Αν ναι, μια από τις πιο πιθανές αιτίες είναι η ανεπαρκής μνήμη. Μπορείτε να παρακολουθείτε τη χρήση μνήμης κοιτάζοντας την ιστοσελίδα status.html, η οποία περιλαμβάνει μια γραμμή όπως
0 gc κλήσεις, 0 αιτήσεις υπόστεγο, και 0 επικίνδυνες MemoryEmails από την τελευταία μεγάλη φορτωτική
(αυτά είναι προοδευτικά πιο σοβαρά γεγονότα)
και MB inUse και gc Καλεί στήλες στον πίνακα των στατιστικών. Μπορείς να καταλάβεις πόσο νευρίασε η μνήμη σου.ERDDAP™Είναι βλέποντας αυτούς τους αριθμούς. Υψηλότεροι αριθμοί δείχνουν περισσότερο άγχος.
- MB inUse πρέπει πάντα να είναι λιγότερο από το ήμισυ του\ μνήμης \ Xmx. Οι μεγαλύτεροι αριθμοί είναι κακό σημάδι.
- Το gc καλεί δηλώνει τον αριθμό των φορέςERDDAP™ονομάζεται ο συλλέκτης απορριμμάτων για να προσπαθήσει να ανακουφίσει τη χρήση υψηλής μνήμης. Αν αυτό φτάσει να είναι > 100, αυτό είναι ένα σημάδι σοβαρών προβλημάτων.
- η αποθήκη δείχνει τον αριθμό των εισερχόμενων αιτήσεων που απορρίφθηκαν (με αριθμό σφάλματος HTTP 503, υπηρεσία μη διαθέσιμη) Γιατί η χρήση μνήμης ήταν ήδη πολύ υψηλή. Ιδανικά, κανένα αίτημα δεν πρέπει να απορριφθεί. Είναι εντάξει αν μερικά αιτήματα απορρίπτονται, αλλά ένα σημάδι σοβαρών προβλημάτων αν πολλά απορρίπτονται.
- επικίνδυνο MemoryEmails - Εάν η χρήση μνήμης γίνεται επικίνδυνα υψηλή,ERDDAP™στέλνει ένα email στις διευθύνσεις email που αναφέρονται στο<Αποστολή στα πάντα Στο> (σε setup.xml) με μια λίστα με τα αιτήματα του ενεργού χρήστη. Όπως λέει το email, στείλε αυτά τα email στον Κρις. Τζον στο Νόα. gov ώστε να μπορούμε να χρησιμοποιήσουμε τις πληροφορίες για να βελτιώσουμε τις μελλοντικές εκδόσεις τηςERDDAP.
ΕάνERDDAP™έχει άγχος μνήμης:
- Σκεφτείτε την κατανομή περισσότερης μνήμης του διακομιστή σας σεERDDAP™αλλάζοντας το Tomcat μνήμης ‐Xmx.
- Αν έχετε ήδη δώσει όσο περισσότερη μνήμη μπορείτε ναERDDAP™μέσω -Xmx, σκεφτείτε να αγοράσετε περισσότερη μνήμη για το διακομιστή σας. Η μνήμη είναι φθηνή. (σε σύγκριση με την τιμή ενός νέου εξυπηρετητή ή το χρόνο σας) - Όχι! Τότε αύξησε -Xmx.
- Μέσαdatasets.xml, σετ<nGridThreads> to 1, σετ<nTableThreads> to 1, και σετ<ipAddressMaxRequestsActive> to 1.
- Δείτε τα αιτήματα στο log.txt για αναποτελεσματική ή προβληματική (αλλά νόμιμο) αιτήματα. Προσθήκη των διευθύνσεων IP τους<αίτησηBlacklist> μέσαdatasets.xml. Το μήνυμα σφάλματος μαύρης λίστας περιλαμβάνει τοERDDAP™Διεύθυνση ηλεκτρονικού ταχυδρομείου διαχειριστή με την ελπίδα ότι αυτοί οι χρήστες θα επικοινωνήσουν μαζί σας έτσι ώστε να μπορείτε να συνεργαστείτε μαζί τους για να χρησιμοποιήσετεERDDAP™πιο αποτελεσματικά. Είναι καλό να κρατήσει μια λίστα με διευθύνσεις IP σας μαύρη λίστα και γιατ ί, έτσι ώστε να μπορείτε να συνεργαστείτε με τους χρήστες, αν επικοινωνούν μαζί σας.
- Δείτε τις αιτήσεις στο log.txt για αιτήματα κακόβουλων χρηστών. Προσθήκη των διευθύνσεων IP τους<αίτησηBlacklist> μέσαdatasets.xml. Εάν παρόμοια αιτήματα προέρχονται από πολλαπλές παρόμοιες διευθύνσεις IP, μπορείτε να χρησιμοποιήσετε κάποιες υπηρεσίες who-is (π.χ., https://www.whois.com/whois/ ) για να μάθετε το εύρος των διευθύνσεων IP από αυτή την πηγή και μαύρη λίστα όλο το εύρος. Δείτε το [<αίτησηBlacklist> τεκμηρίωση] (/docs/server-admin/datasets#ζητώ μαύρη λίστα) .
Εκτός μνήμης
Όταν το έστησεςERDDAP™, θα ορίσετε το μέγιστο ποσό της μνήμης πουJavaμπορεί να χρησιμοποιηθεί μέσω του\ \ Xmx. ΕάνERDDAP™ποτέ δεν χρειάζεται περισσότερη μνήμη από αυτό, θα ρίξει ένα java. Λανγκ. Εκτός μνήμης.ERDDAP™κάνει πολύ έλεγχο για να μπορεί να χειριστεί αυτό το σφάλμα με χάρη (π.χ., έτσι ένα ενοχλητικό αίτημα θα αποτύχει, αλλά το σύστημα διατηρεί την ακεραιότητά του) . Αλλά μερικές φορές, η βλάβη του συστήματος ακεραιότητα και θα πρέπει να επανεκκινήσετεERDDAP. Ελπίζω να είναι σπάνιο.
Η γρήγορη και εύκολη λύση για ένα OutOfMemoryError είναι να αυξήσει την\ \ Xmx, αλλά δεν θα πρέπει ποτέ να αυξήσει τη ρύθμιση -Xmx σε περισσότερο από 80% της φυσικής μνήμης στο διακομιστή (π.χ. για έναν εξυπηρετητή 10GB, μην ρυθμίσετε -Xmx πάνω από 8GB) . Η μνήμη είναι σχετικά φθηνή, έτσι μπορεί να είναι μια καλή επιλογή για την αύξηση της μνήμης στον εξυπηρετητή. Αλλά αν έχετε μεγιστοποιήσει τη μνήμη στον διακομιστή ή για άλλους λόγους δεν μπορεί να την αυξήσει, θα πρέπει να ασχοληθείτε πιο άμεσα με την αιτία του OutOfMemoryError.
Αν κοιτάξεις μέσα στοlog.txtαρχείο για να δείτε τιERDDAP™έκανε όταν προέκυψε το σφάλμα, μπορείτε συνήθως να πάρετε μια καλή ένδειξη για την αιτία του OutOfMemoryError. Υπάρχουν πολλές πιθανές αιτίες, συμπεριλαμβανομένων:
- Ένα ενιαίο τεράστιο αρχείο δεδομένων μπορεί να προκαλέσει το OutOfMemoryError, κυρίως, τεράστια αρχεία δεδομένων ASCII. Αν αυτό είναι το πρόβλημα, θα πρέπει να είναι προφανές γιατίERDDAP™θα αποτύχει να φορτώσει το σύνολο δεδομένων (για σύνολα δεδομένων πίνακα) ή ανάγνωση δεδομένων από το αρχείο (για τα πλέγματα σύνολα δεδομένων) . Η λύση, εάν είναι εφικτό, είναι η διάσπαση του αρχείου σε πολλαπλά αρχεία. Ιδανικά, μπορείτε να χωρίσετε το αρχείο σε λογικά κομμάτια. Για παράδειγμα, αν το αρχείο έχει δεδομένα αξίας 20 μηνών, χωρίστε το σε 20 αρχεία, το καθένα με δεδομένα αξίας 1 μήνα. Αλλά υπάρχουν πλεονεκτήματα ακόμα και αν το κύριο αρχείο χωρίζεται αυθαίρετα. Αυτή η προσέγγιση έχει πολλαπλά οφέλη: α) Αυτό θα μειώσει τη μνήμη που απαιτείται για να διαβάσετε τα αρχεία δεδομένων σε 1/20th, επειδή μόνο ένα αρχείο διαβάζεται σε μια στιγμή. β) Συχνά,ERDDAP™μπορεί να ασχοληθεί με τα αιτήματα πολύ πιο γρήγορα, επειδή πρέπει να ψάξει μόνο σε ένα ή μερικά αρχεία για να βρει τα δεδομένα για ένα δεδομένο αίτημα. γ) Αν η συλλογή δεδομένων είναι σε εξέλιξη, τότε τα υπάρχοντα 20 αρχεία μπορούν να παραμείνουν αμετάβλητα, και το μόνο που χρειάζεται είναι να τροποποιήσετε ένα, μικρό, νέο αρχείο για να προσθέσετε τα δεδομένα του επόμενου μήνα στο σύνολο δεδομένων.
- Ένα τεράστιο αίτημα μπορεί να προκαλέσει το OutOf MemoryError. Ειδικότερα, ορισμένες από τιςorderByεπιλογές έχουν όλη την απάντηση στη μνήμη για ένα δευτερόλεπτο (π.χ. για να κάνετε ένα είδος) . Αν η απάντηση είναι τεράστια, μπορεί να οδηγήσει στο λάθος. Πάντα θα υπάρχουν κάποια αιτήματα που είναι, με διάφορους τρόπους, πολύ μεγάλα. Μπορείτε να λύσετε το πρόβλημα αυξάνοντας τη ρύθμιση -Xmx. Ή, μπορείτε να ενθαρρύνετε το χρήστη να κάνει μια σειρά από μικρότερα αιτήματα.
- Είναι απίθανο ένας μεγάλος αριθμός αρχείων να προκαλέσει το ευρετήριο αρχείων πουERDDAP™δημιουργεί να είναι τόσο μεγάλο που το αρχείο θα προκαλέσει το σφάλμα. Αν υποθέσουμε ότι κάθε αρχείο χρησιμοποιεί 300 bytes, τότε 1.000.000 αρχεία θα πάρουν μόνο 300MB. Αλλά τα σύνολα δεδομένων με έναν τεράστιο αριθμό αρχείων δεδομένων προκαλούν άλλα προβλήματα γιαERDDAP, ιδίως, χρειάζεται πολύς χρόνος γιαERDDAP™να ανοίξει όλα αυτά τα αρχεία δεδομένων όταν ανταποκρίνεται σε ένα αίτημα του χρήστη για τα δεδομένα. Στην περίπτωση αυτή, η λύση μπορεί να είναι η συγκέντρωση των αρχείων έτσι ώστε να υπάρχουν λιγότερα αρχεία δεδομένων. Για τα σύνολα δεδομένων πίνακα, είναι συχνά μεγάλη αν αποθηκεύσετε τα δεδομένα από το τρέχον σύνολο δεδομένων σεΚΦ Διακριτές γεωμετρίες δειγματοληψίας (DSG) Contigoul Ragged αρχεία δεδομένων Array (αίτηση.ncΑρχεία CF απόERDDAP) και στη συνέχεια να κάνει ένα νέο σύνολο δεδομένων. Αυτά τα αρχεία μπορούν να αντιμετωπιστούν πολύ αποτελεσματικά μεERDDAPΣΠίνακας EDDFromNcCFΑρχεία. Αν είναι λογικά οργανωμένοι (το καθένα με δεδομένα για ένα κομμάτι χώρου και χρόνου) ,ERDDAP™μπορεί να εξάγει δεδομένα από αυτά πολύ γρήγορα.
- Για σύνολα δεδομένων πίνακα που χρησιμοποιούν το [<subsetVariables>] (/docs/server-admin/datasets#subsetvarariables) χαρακτηριστικό,ERDDAP™κάνει έναν πίνακα μοναδικών συνδυασμών των τιμών αυτών των μεταβλητών. Για τεράστια σύνολα δεδομένων ή πότε<subsetVariables> παραμορφώνεται, αυτό το τραπέζι μπορεί να είναι αρκετά μεγάλο για να προκαλέσει OutOf MemoryErrors. Η λύση είναι να αφαιρεθούν οι μεταβλητές από τη λίστα των<subsetVariables> για τις οποίες υπάρχει μεγάλος αριθμός τιμών ή να καταργηθούν οι μεταβλητές, όπως απαιτείται, έως ότου το μέγεθος του εν λόγω πίνακα είναι εύλογο. Τα μέρη τηςERDDAP™που χρησιμοποιούν τοsubsetVariablesσύστημα δεν λειτουργεί καλά (π.χ., οι ιστοσελίδες φορτώνουν πολύ αργά) όταν υπάρχουν πάνω από 100.000 σειρές σε αυτό το τραπέζι.
- Είναι πάντα πιθανό ότι αρκετές ταυτόχρονες μεγάλες αιτήσεις (σε μια πολύ απασχολημένηERDDAP) μπορεί να συνδυαστεί για να προκαλέσει προβλήματα μνήμης. Για παράδειγμα, 8 αιτήματα, το καθένα χρησιμοποιώντας 1GB το καθένα, θα δημιουργούσαν προβλήματα για μια ρύθμιση -Xmx=8GB. Αλλά είναι σπάνιο κάθε αίτημα να βρίσκεται στο αποκορύφωμα της χρήσης της μνήμης του ταυτόχρονα. Και θα μπορούσες εύκολα να δεις ότι ηERDDAP™Είναι πολύ απασχολημένος με μεγάλα αιτήματα. Αλλά είναι πιθανό. Είναι δύσκολο να αντιμετωπιστεί αυτό το πρόβλημα εκτός από την αύξηση της ρύθμισης -Xmx.
- Υπάρχουν και άλλα σενάρια. Αν κοιτάξεις τοlog.txtαρχείο για να δείτε τιERDDAP™έκανε όταν προέκυψε το λάθος, μπορείτε συνήθως να πάρετε μια καλή ιδέα για την αιτία. Στις περισσότερες περιπτώσεις, υπάρχει ένας τρόπος να ελαχιστοποιηθεί αυτό το πρόβλημα (βλ. παραπάνω) , αλλά μερικές φορές απλά χρειάζεστε περισσότερη μνήμη και μια υψηλότερη -Xmx ρύθμιση.
Πάρα πολλά ανοιχτά αρχεία
Ξεκινώντας μεERDDAP™v2.12,ERDDAP™έχει ένα σύστημα για την παρακολούθηση του αριθμού των ανοιχτών αρχείων (που περιλαμβάνει υποδοχές και κάποια άλλα πράγματα, όχι μόνο αρχεία) στο Tomcat σε υπολογιστές Linux. Αν κάποια αρχεία λανθασμένα δεν κλείνουν ποτέ (Διαρροή πόρων) , ο αριθμός των ανοιχτών αρχείων μπορεί να αυξηθεί μέχρι να υπερβαίνει το μέγιστο επιτρεπόμενο από το λειτουργικό σύστημα και πολλά πραγματικά άσχημα πράγματα συμβαίνουν. Οπότε τώρα, στους υπολογιστές του Linux (επειδή οι πληροφορίες δεν είναι διαθέσιμες για Windows) :
- Υπάρχει μια "Open Files" στήλη στην ακροδεξιά της ιστοσελίδας status.html που δείχνει το ποσοστό των αρχείων max ανοιχτά. Στα Windows, απλά δείχνει "?".
- ΠότεERDDAP™παράγει αυτές τις πληροφορίες στο τέλος κάθε σημαντικής επαναφόρτωσης συνόλου δεδομένων, θα εκτυπώσει στο αρχείο καταγραφής. αρχείο txt: ανοικτό αρχείοCount= ρεύμα του max= max %= %
- Εάν το ποσοστό είναι > 50%, ένα email αποστέλλεται στοERDDAP™Διαχειριστής και το email Τα πάντα Στις διευθύνσεις email.
Εάν το ποσοστό είναι 100%,ERDDAP™έχει μπλέξει άσχημα. Μην το αφήσεις να συμβεί. Εάν το ποσοστό είναι > 75%,ERDDAP™είναι κοντ ά σε τρομερά προβλήματα. Δεν είναι εντάξει. Εάν το ποσοστό είναι >50%, είναι πολύ πιθανό ότι μια ακίδα θα προκαλέσει το ποσοστό να χτυπήσει 100. Εάν το ποσοστό είναι ποτέ > 50%, θα πρέπει:
- Αύξηση του μέγιστου αριθμού ανοιχτών αρχείων που επιτρέπονται είτε από:
- Κάνοντας αυτές τις αλλαγές κάθε φορά πριν ξεκινήσετε tomcat (Βάλτε τους στο αρχείο Tomcat startup.sh;) : ulimid - Hn 16384 ulimid - Sn 16384
- Ή να κάνει μια μόνιμη αλλαγή με επεξεργασία (ως ρίζα) /etc/security/limits.conf και προσθήκη των γραμμών: tomcat μαλακό nofile 16384 tomcat σκληρό nofile 16384 Αυτές οι εντολές υποθέτουν ότι ο χρήστης που τρέχει Tomcat ονομάζεται "tomcat". Σε πολλές παραλλαγές Linux, πρέπει να επανεκκινήσετε τον εξυπηρετητή για να εφαρμόσετε αυτές τις αλλαγές. Και για τις δύο επιλογές, το "16384" παραπάνω είναι ένα παράδειγμα. Διαλέγεις τον αριθμό που θεωρείς καλύτερο.
- ΕπανεκκίνησηERDDAP. Το λειτουργικό σύστημα θα κλείσει όλα τα ανοιχτά αρχεία.
Αποτυχημένες αιτήσεις
- Ασυνήθιστη δραστηριότητα: >25% των αιτήσεων απέτυχε
Ως μέρος κάθε επαναφόρτωσης Datasets, η οποία είναι συνήθως κάθε 15 λεπτά,ERDDAP™εξετάζει το ποσοστό των αιτήσεων που απέτυχαν μετά την τελευταία επαναφόρτωση των δεδομένων. Εάν είναι > 25%,ERDDAP™στέλνει ένα email στοERDDAP™διαχειριστής με το θέμα "Ασυνήθιστη δραστηριότητα: >25% των αιτήσεων απέτυχε". Αυτό το email περιλαμβάνει μια καταμέτρηση κοντά στο κάτω μέρος με τίτλο "Διεύθυνση IP του Requester (Αποτυχία) (από τα τελευταία μεγάλα σύνολα δεδομένων φόρτωσης) .. Ψάξε γι' αυτό. Σας λέει τη διεύθυνση IP των υπολογιστών που κάνουν τις πιο αποτυχημένες αιτήσεις. Στη συνέχεια, μπορείτε να αναζητήσετε αυτές τις διευθύνσεις IP στο\[bigParentΚατάλογος\]/logs/log.txtαρχείο και να δούμε τι είδους αιτήματα κάνουν.
Μπορείτε να χρησιμοποιήσετε τον αριθμό IP του χρήστη (για παράδειγμα, με https://whatismyipaddress.com/ip-lookup ) να προσπαθήσουμε να καταλάβουμε ποιος ή τι είναι ο χρήστης. Μερικές φορές αυτό θα σας πει με αρκετή ακρίβεια ποιος είναι ο χρήστης (π.χ., είναι ένα συρόμενο πλέγμα μηχανής αναζήτησης) . Τις περισσότερες φορές σου δίνει ένα στοιχείο. (π.χ. είναι ένας υπολογιστής αμαζόνων, είναι από κάποιο πανεπιστήμιο, είναι κάποιος σε κάποια συγκεκριμένη πόλη.) .
Εξετάζοντας το πραγματικό αίτημα, τον αριθμό IP και το μήνυμα σφάλματος (όλα απόlog.txt) Για μια σειρά από λάθη, μπορείτε συνήθως να καταλάβετε τι συμβαίνει βασικά. Από την εμπειρία μου, υπάρχουν τέσσερις κοινές αιτίες πολλών αποτυχημένων αιτημάτων:
-
Τα αιτήματα είναι κακόβουλα (π.χ., αναζήτηση αδυναμιών ασφαλείας, ή υποβολή αιτημάτων και στη συνέχεια ακύρωση τους πριν ολοκληρωθούν) . Θα πρέπει να χρησιμοποιήσετε<αίτησηBlacklist> μέσαdatasets.xmlΓια τη μαύρη λίστα αυτών των διευθύνσεων IP.
-
Μια μηχανή αναζήτησης δοκιμάζει αφελώς τα URL πο υ αναφέρονται στοERDDAP™ιστοσελίδες και έγγραφα ISO 19115. Για παράδειγμα, υπάρχουν πολλά μέρη που απαριθμούν τη βάσηOPeNDAPURL, για παράδειγμα, https://coastwatch.pfeg.noaa.gov/erddap/griddap/jplMURSST , στην οποία ο χρήστης υποτίθεται ότι θα προσθέσει έναν τύπο αρχείου (π.χ., .das, .dds, .html) . Αλλά η μηχανή αναζήτησης δεν το ξέρει αυτό. Και το αίτημα για τη βασική διεύθυνση αποτυγχάνει. Μια σχετική κατάσταση είναι όταν η μηχανή αναζήτησης δημιουργεί παράξενες αιτήσεις ή προσπαθεί να συμπληρώσει έντυπα προκειμένου να φτάσει σε "κρυμμένες" ιστοσελίδες. Αλλά οι μηχανές αναζήτησης συχνά κάνουν κακή δουλειά, οδηγώντας σε αποτυχίες. Η λύση είναι:ρομπότ.txtΑρχείο.
-
Κάποιος χρήστης τρέχει ένα σενάριο που επανειλημμένα ζητάει κάτι που δεν υπάρχει. Ίσως είναι ένα σύνολο δεδομένων που υπήρχε παλιά, αλλά έχει φύγει τώρα. (προσωρινά ή μόνιμα) . Τα σενάρια συχνά δεν το περιμένουν αυτό και έτσι μην το αντιμετωπίζεις έξυπνα. Έτσι το σενάριο συνεχίζει να κάνει αιτήματα και τα αιτήματα συνεχίζουν να αποτυγχάνουν. Αν μπορείτε να μαντέψετε ποιος είναι ο χρήστης (από τον παραπάνω αριθμό IP) , επικοινωνήστε μαζί τους και να τους πω το σύνολο δεδομένων δεν είναι πλέον διαθέσιμο και να τους ζητήσει να αλλάξει το σενάριο τους.
-
Κάτι δεν πάει καλά με κάποιο σύνολο δεδομένων. Συνήθως,ERDDAP™θα κάνει το προβληματικό σύνολο δεδομένων ανενεργό. Μερικές φορές δεν συμβαίνει, οπότε όλες οι αιτήσεις σε αυτό οδηγούν σε λάθη. Εάν ναι, διορθώστε το πρόβλημα με το σύνολο δεδομένων ή (Αν δεν μπορείς) ορίζει το σύνολο δεδομένων στοενεργό="ψευδής". Φυσικά, αυτό μπορεί να οδηγήσει σε πρόβλημα # 2.
Μερικές φορές τα λάθη δεν είναι τόσο άσχημα, ιδιαίτερα, ανERDDAP™μπορεί να ανιχνεύσει το σφάλμα και να ανταποκριθεί πολύ γρήγορα (<=1ms). Έτσι, μπορεί να αποφασίσεις να μην κάνεις τίποτα.
Εάν όλα τα άλλα αποτύχει, υπάρχει μια καθολική λύση: προσθέστε τον αριθμό IP του χρήστη στο [<αίτησηBlacklist>] (/docs/server-admin/datasets#ζητώ μαύρη λίστα) . Δεν είναι τόσο κακή ή τόσο δραστική επιλογή όσο φαίνεται. Στη συνέχεια, ο χρήστης θα λάβει ένα μήνυμα λάθους λέγοντας ότι s/he έχει μαύρη λίστα και λέγοντάς τους ότι σας (τοERDDAP™του διαχειριστή) διεύθυνση ηλεκτρονικού ταχυδρομείου. Μερικές φορές ο χρήστης θα επικοινωνήσει μαζί σας και μπορείτε να επιλύσετε το πρόβλημα. Μερικές φορές ο χρήστης δεν επικοινωνεί μαζί σας και θα δείτε την ίδια ακριβώς συμπεριφορά να προέρχεται από διαφορετικό αριθμό IP την επόμενη μέρα. Μαύρη λίστα ο νέος αριθμός IP και ελπίζω ότι τελικά θα πάρει το μήνυμα. (Ή αυτή είναι η μέρα σου, από την οποία δεν θα ξεφύγεις ποτέ. Συγγνώμη.)
ρομπότ.txt
Οι εταιρίες μηχανών αναζήτησης χρησιμοποιούν συριγμούς ιστού (π.χ., Google Μποτ.) να εξετάσει όλες τις σελίδες στο διαδίκτυο για να προσθέσετε το περιεχόμενο στις μηχανές αναζήτησης. ΓιαERDDAP™Αυτό είναι βασικά καλό.ERDDAP™έχει πολλούς συνδέσμους μεταξύ των σελίδων, έτσι ώστε οι συριγμοί θα βρείτε όλες τις ιστοσελίδες και να τις προσθέσετε στις μηχανές αναζήτησης. Στη συνέχεια, οι χρήστες των μηχανών αναζήτησης θα είναι σε θέση να βρουν σύνολα δεδομένων για σαςERDDAP.
Δυστυχώς, μερικοί συριγμοί ιστού (π.χ., Google Μποτ.) συμπληρώνονται τώρα και υποβάλλουν έντυπα για να βρουν επιπλέον περιεχόμενο. Για ιστοσελίδες, αυτό είναι υπέροχο. Αλλά αυτό είναι τρομερό γιαERDDAP™Γιατί απλά οδηγεί σε ένα άπειρη αριθμός ανεπιθύμητων και άσκοπων προσπαθειών να συρθούν τα πραγματικά δεδομένα. Αυτό μπορεί να οδηγήσει σε περισσότερες αιτήσεις για δεδομένα από ό, τι από όλους τους άλλους χρήστες σε συνδυασμό. Και γεμίζει τη μηχανή αναζήτησης με χαζά, άσκοπα υποσύνολα των πραγματικών δεδομέ νων.
Για να πείτε στους συρόμενους ιστούς να σταματήσουν να συμπληρώνουν φόρμες και απλά γενικά να μην κοιτάζουν ιστοσελίδες που δεν χρειάζεται να κοιτάξουν, θα πρέπει να δημιουργήσετε ένα αρχείο κειμένου που ονομάζεταιρομπότ.txtστον ριζικό κατάλογο της ιεραρχίας εγγράφων της ιστοσελίδας σας, ώστε να μπορεί να θεωρηθεί από οποιονδήποτε, π.χ., http://*www.your.domain*/robots.txt . Αν δημιουργείς νέα ρομπότ. txt αρχείο, αυτό είναι μια καλή αρχή:
User-Agent: \\*
Disallow: /erddap/files/
Disallow: /files/
Disallow: /images/
Disallow: /\\*?
Disallow: /\\*?\\*
Disallow: /\\*.asc\\*
Disallow: /\\*.csv\\*
Disallow: /\\*.dods\\*
Disallow: /\\*.esriAscii\\*
Disallow: /\\*.esriCsv\\*
Disallow: /\\*.geoJson\\*
Disallow: /\\*.htmlTable\\*
Disallow: /\\*.json\\*
Disallow: /\\*.mat\\*
Disallow: /\\*.nc\\*
Disallow: /\\*.odvTxt\\*
Disallow: /\\*.tsv\\*
Disallow: /\\*.xhtml\\*
Disallow: /\\*.geotif\\*
Disallow: /\\*.itx\\*
Disallow: /\\*.kml\\*
Disallow: /\\*.pdf\\*
Disallow: /\\*.png\\*
Disallow: /\\*.large\\*
Disallow: /\\*.small\\*
Disallow: /\\*.transparentPng\\*
Sitemap: http://***your.institutions.url***/erddap/sitemap.xml
(Αλλά αντικατάσταση Τα ιδρύματά σας.url με σαςERDDAPΒασικό URL.)
Μπορεί να χρειαστούν μερικές ημέρες για να το προσέξουν οι μηχανές αναζήτησης και να τεθούν σε ισχύ οι αλλαγές.
χάρτης τοποθεσίας.xml
Ως το https://www.sitemaps.org ιστοσελίδα λέει:
Sitemaps are an easy way for webmasters to inform search engines about pages on their sites that are available for crawling. In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs on the site) so that search engines can more intelligently crawl the site.
Web crawlers usually discover pages from links within the site and from other sites. Sitemaps supplement this data to allow crawlers that support Sitemaps to pick up all URLs in the Sitemap and learn about those URLs using the associated metadata. Using the Sitemap protocol does not guarantee that web pages are included in search engines, but provides hints for web crawlers to do a better job of crawling your site.
Βασικά, από τότεERDDAP™λέRESTful, οι αράχνες μηχανών αναζήτησης μπορούν εύκολα να συρθούν σαςERDDAP. Αλλά το κάνουν πιο συχνά. (Κάθε μέρα!) Απαραίτητη (Μηνιαίως;) .
-
Δεδομένου ότι κάθε μηχανή αναζήτησης μπορεί να σέρνεται ολόκληρηERDDAP™Κάθε μέρα, αυτό μπορεί να οδηγήσει σε πολλά περιττά αιτήματα.
-
Λοιπόν...ERDDAP™δημιουργεί ένα αρχείο sitemap.xml για σαςERDDAP™που λέει στις μηχανές αναζήτησης ότι σαςERDDAP™Απλά χρειάζεται να σέρνεται κάθε μήνα.
-
Θα πρέπει να προσθέσετε μια αναφορά σεERDDAPΤο sitemap.xml σαςρομπότ.txtαρχείο: Χάρτης ιστοσελίδας: http://**www.yoursite.org**/erddap/sitemap.xml
-
Εάν αυτό δεν φαίνεται να παίρνει το μήνυμα στους συρόμενους, μπορείτε να πείτε τις διάφορες μηχανές αναζήτησης για το αρχείο sitemap.xml με την επίσκεψη σε αυτές τις διευθύνσεις URL (αλλά αλλαγή Το Ίδρυμά σας στο ακρωνύμιο ή τη συντομογραφία του ιδρύματος σας και www.yoursite.org (στα Αγγλικά). στο δικό σαςERDDAPURL) :
-
https://www.bing.com/webmaster/ping.aspx?siteMap=http://**www.yoursite.org**/erddap/sitemap.xml
-
https://www.google.com/ping?sitemap=http://**www.yoursite.org**/erddap/sitemap.xml(I think) απλά χρειάζεται να ping κάθε μηχανή αναζήτησης μια φορά, για πάντα. Οι μηχανές αναζήτησης στη συνέχεια θα ανιχνεύουν αλλαγές στο sitemap.xml περιοδικά.
-