其他信息
你需要知道的事情
代理錯誤
有時候,要求ERDDAP™傳回代理錯誤、 HTTP 502 壞門錯誤或類似錯誤 。 這些錯誤正被阿帕奇或湯姆卡特拋棄 不是ERDDAP™自己
- 如果每個要求都產生這些錯誤, 尤其是當您第一次設定您的ERDDAP™,那么它可能是代理錯誤或壞的网關錯誤,而解答可能就是修正ERDDAP代理設定值. 這也可能是問題所在,ERDDAP™每個要求都突然發生錯誤
- 否則, "代理" 錯誤通常是 Apache 或 Tomcat 扔出的錯誤。 即使它們發生得比較快 但當它們發生的時候 卻是阿帕奇或湯姆卡特的反應ERDDAP™或受到其他資源的限制。 在這些案件中,请参阅下文的忠告。ERDDAP™慢慢回應.
长期要求 (> 30 時點) 從網格化的數據集中會發生超時故障, 它常以代理錯誤的形式出現, 因為它需要大量時間ERDDAP™要逐一開啟所有資料檔。 如果ERDDAP™在要求中, 如果數據集的檔案被壓縮, 問題就更可能發生, 雖然使用者很難決定數據集的檔案是否被壓縮 。 解決方式是提出多項要求, 時間範圍有多小? 我建議小點 (-30分?) 那么 (約) 雙倍的 時間範圍, 直到要求失敗, 然後返回一個加倍 。 那就提出所有的要求 (不同時間) 需要得到所有的資料。 安ERDDAP™管理員可以通过增加Apache 超時設定值.
監控
我們都希望我們的數據服務能找到觀眾 被廣泛利用 但有時你ERDDAP™可能會被使用太多, 造成問題, 我們避免問題的計劃是:
- 監控器ERDDAP™通過狀態.html网页. 有很多有用的信息 如果你看到大量要求正在出現 或數吨內存被使用 或數吨失敗的要求 或每個主要載入Datasets 需要很長時間 或看到任何東西被困住慢慢回應的跡象ERDDAP是log.txt 文件看看發生了什么
只需指出狀態頁面的反應速度, 如果回應慢一點,這是重要的指示ERDDAP™非常忙
- 監控器ERDDAP™通過每日報告電子郵件
- 注意透過 : 基底Url /erddap/outOfDateDatasets.html基于選項的網頁testOutOfDate全球屬性。
外部监视器
上述方法如下:ERDDAP監控自己的方式 也可以建立或使用外部系統來監控您ERDDAP. 一個項目是Axiom 的 erddap 測量工程. 這些外部系統有一些优点:
- 以你想要的方式展示
- 其中可以包括:ERDDAP™那ERDDAP™不能輕易 或完全存取(例如 CPU 使用量、磁碟空間、ERDDAP™從使用者的角度看,回應時間ERDDAP™起床了
- 他們能提供警報 (電子郵件、電話、短信) 當問題超過某種阈值時,
多重同時 要求
- 黑名單使用者會提出多重同時要求! 如果可以清楚知道有些使用者在重复和持續地提出不止一個同步要求,那么就把他們的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) 具有固定容量, 以 CPU 中的核心數量、 磁碟存取寬度、 網路寬度為限制 。 但攻擊性武器 (使用者, 尤其是文稿) 具有无限容量 :
- 單一要求從很多時間點得到資料可能會引起ERDDAP開啟大量檔案 (排序或部分多串) . 在極端情 況下,一個"簡單"的要求可以輕而易舉地捆綁附在其中的RAIDERDDAP™有效阻止處理其他要求。
- 單一個要求可能消耗一大堆記憶體 (雖然ERDDAP™以最小化處理大要求所需的內存) .
- 平行 - – 聰明的用戶很容易以產生很多線程來平行一個大工作, 每個線程都會提交一個单独的請求 (大小) . 這項行為受到電腦科學界的鼓勵, (在其他情况下,平行是有效的) . 回到戰爭的類比:使用者可以提出無限制的同時要求,ERDDAP™可以大而且ERDDAP反應能力有限 顯然ERDDAP™除非是...ERDDAP™管理員黑名單使用者正在提出多項同步要求,
- 多重文稿 - 想想當有幾個聰明的使用者 每個執行平行的文稿時會發生什麼 如果一個用戶能產生如此多的請求, 以致其他用戶被挤出, 那麼多個用戶能產生如此多的請求, 以至于ERDDAP™變得不知所措 似乎沒有反應 實際上是DDOS 攻擊再次,唯一的辯護者是ERDDAP™以黑名單列出多個同步要求的使用者,
- 膨胀的期望... 在大型科技公司的世界中 (亞馬遜 谷歌 Facebook...) 使用者期待提供商提供無限的能力。 因為這些公司是賺錢的, 所以他們能負擔起巨大的IT基礎 處理要求 他們巧妙地限制使用者要求的數量和成本, (或是某種方式) 供使用者同步提出多次要求。 所以這些巨大的技術公司 的使用者可能比ERDDAP™以限制每個使用者的要求。 這對大IT公司來說是可控的情況 (他們就發財了!) 但不是為了ERDDAP™设施。 再次,唯一的辯護者是ERDDAP™以黑名單列出多個同步要求的使用者,
所以用戶們:不要提出多項同步要求,
顯然你的伺服器最好有很多核心 有很多記憶體 (所以,你可以分配很多的記憶體ERDDAP™比以前需要 的更多) 和高頻率的網路連接 因此,記憶體很少或從來不是限制因素,但網路寬頻成了更常见的限制因素. 基本上, 隨著越来越多的同步要求, 任何使用者的速度都會降低 。 如果每個使用者只是一次提交一個要求, 這自然會減慢來源的請求數量 。
ERDDAP™從 THREDDS 取得資料
如果你ERDDAP™從您網站上的 THREDDS 取得一些數據, 在 THREDDS 資料檔上做一份複製有某些優點 。 (至少最流行的數據集) 在另一個RAID上ERDDAP™有權使用ERDDAP™可以直接提供檔案中的資料。 在ERD為了我們最受歡迎的數據集
- ERDDAP™可以直接取得資料,而不必等待THREDDS重新載入数据集或...
- ERDDAP™可以立刻注意到並輸入新的資料檔, 所以它不必經常捕蟲THREDDS來查看數據集是否變了 。 看<更新 EveryNMILIS > (/docs/server-admin/datasets#update Everynmillis / 更新所有資料) .
- 荷載由2 RADS 和 2 台伺服器分開, 而不是兩個都難求ERDDAP™和THREDDS。
- 您避免了 THREDDS 的小錯誤問題 (默认) 最大要求大小。ERDDAP™有一個系統可以處理不匹配, 但避免問題更好。
- 你有數據的備份 總是個好主意
總之 永遠不要用THREDDS和ERDDAP™在同一個湯姆卡特。 在不同的Tomcats,或更好的,在不同的伺服器上运行。
我們發現THREDDS 定期地在一個狀態 要求只是挂起。 如果你ERDDAP™從THREDDS得到數據 而THREDDS就在這狀態下ERDDAP™有辯護 (上面寫著沒有THREDDS的資料) 但還是很麻煩的ERDDAP™因為ERDDAP™每次它試圖從挂载的 THREDDS 重新載入數據集時, 必須等到超時。 一些群 組 (包括ERD) 避免此變更, (比如在夜里工作) .
慢慢回應
- 如果ERDDAP™慢慢回應 或者,如果只是某些要求 正在慢慢回應, 你可能會想出慢速是否合理和暫時 (例如,由于文稿中的很多要求或WMS使用者) 或者,如果某件事是不可解釋的錯誤 你需要關閉並重新啟動Tomcat和ERDDAP™.
如果ERDDAP™希望這能讓你解決問題。 你可能有個具体的起始點 (例如,特定要求 URL) 或模糊的起始點 (例如,ERDDAP™慢) . 你可能知道涉及的使用者 (例如,因為他們給你發了郵件) 或非. 你可能還有其他的線索 因為所有這些情況以及所有可能的原因都模糊了,
- 尋找線索ERDDAP'log 檔 ( 大家长會 /logs/log.txt) .
\[在少有的情況下 有線索Tomcat 日志檔 ( 湯姆卡 /日志/卡塔琳娜。) .\]
查找錯誤訊息 。 尋找大量來自其中一個的要求 (或數) 使用者或可能占用您伺服器的大量資源 (內存、 CPU 時間、 磁碟存取、 網路帶宽) .
如果有麻煩的話 1名使用者 您可以透過網絡服務, https://whatismyipaddress.com/ip-lookup 可以提供與使用者的 IP 位址相關的資訊 (您可以在ERDDAP是log.txt文件) .
- 如果使用者似乎是 机器人 做坏事 (特別是,一個搜索引擎試圖填充ERDDAP™包含所有可能輸入值的表單) ,確保您已妥善設定您的伺服器机器人.txt文件。
- 如果使用者似乎是 ** 文稿 (s) ** 正在提出多個同步要求, 聯繫使用者, 解釋您ERDDAP™資源有限 (例如內存、 CPU 時間、 磁碟存取、 網路帶宽) , 要求他們考慮其他使用者, 你可能還會說 如果他們不退縮 你會把他們列入黑名單
- 如果使用者似乎是 文稿 做大量耗時的請求, 請用戶稍稍暫停以考慮其他用戶 (2秒?) 中。
- WMS客戶端軟體 可能要求很高 一個客戶端一次會要求6個自訂影像 。 如果使用者似乎是WMS您可以:
- 忘了它。 (被推薦了 因為他們很快就會搬家了)
- 關閉您的伺服器WMS服務通過ERDDAP's setup.html file. (未推荐)
- 如果要求似乎 愚蠢、瘋狂、過份、惡毒 或者如果你無法以其他方式解決問題, 考慮將使用者的 IP 位址暫時或永久添加到 [<要求黑色列表>datasets.xml文件] (/docs/server-admin/datasets# 要求黑名單) .
- 試著重複問題你自己,從你的電腦。
找出問題是用一個數據集還是所有數據集, 一個用戶或所有用戶, 只用某些類型的要求等等 。 如果你能重複問題 試著縮小問題 問題可能與使用者的電腦、使用者的網絡連接, - 如果 一個數據集 反應很慢 (也許只是為了 一种要求 從一個使用者) ,問題可能是:
- ERDDAP存取数据集的來源資料 (Cassandra 和遠端數據集) 可能是暫時或永久的慢。 試著單獨檢查來源的速度ERDDAP. 如果它慢,也許你可以改善它。
- 是與具体要求或一般要求類型有關嗎? 要求的數據集越大, 要求就越可能失敗 。 要求使用者提出更小的要求,
几乎所有的數據集都比其他類型的要求更能處理某些類型的要求. 例如,當數據集儲存不同時點的檔案時, 從大量時點求取數據可能非常慢 。 如果目前要求的類型很困難, 請考慮提供最適合這些要求的數據集的變體 。 或是向使用者解釋,
-
数据集可能不优化配置 。 您可能可以改變數據集datasets.xml要幫助的區塊ERDDAP™處理好數據集。 例如,
- EDDGrid從 NcFiles 資料集中, 從壓縮的 nc4/ hdf5 檔案存取資料的速度在取得整個地理範圍的資料時很慢 (例如,世界地圖) 因為整個檔案必須解壓。 您可以將檔案轉換成未壓縮的檔案, 但磁碟空間要求會大得多 。 某些情況下,
- [<subsetVariables>] (/docs/ server-admin/ datasets# subsetables 變化) 標籤對如何ERDDAP™操作 EDDTable 数据集。
- 你可以增加數據庫的 EDD Table 速度數據集。
- 许多 EDDTable 数据集可以被加速儲存數據的複本到NetCDF相關的標籤陣列檔案,ERDDAP™讀得很快
如果需要幫助加速特定數據集, 包括描述問題和數據集的區塊datasets.xml看我們部分.
- 如果 一切 inERDDAP™是 永遠 慢,問題可能是:
- 正在運行的電腦ERDDAP™可能沒有足夠的內存或處理權力 。 跑得好ERDDAP™在現代多核心伺服器上 重用時, 伺服器應該有64位操作系統和 8 GB 或更多內存 。
- 正在運行的電腦ERDDAP™可能也正在運行其他耗費大量系統資源的應用程式。 如果有, 您能否取得一個專用的伺服器 。ERDDAP? 例如 (這不是背書) , 您可以得到一個有 8 GB 記憶體的四核 Mac Mini 伺服器, 共 ~ 1 100 美元 。
- 如果 一切 inERDDAP™是 暫時 慢點,看ERDDAP是 /erddap/status.html页 次 在您的瀏覽器中。
- 是否ERDDAP™要載入狀態頁面嗎 ? 如果是,重新开始ERDDAP™.
- 做了ERDDAP™狀態頁面慢慢載入 (如, > 5秒) ? 那表示一切ERDDAP™但這不一定是麻煩ERDDAP™也許只是很忙
- 回答失敗的時間 (自上次主要載入Datasets起) ",是n=大量? 這表示最近有很多要求失敗。 可能是麻煩或麻煩的開始 失敗的中位數時間往往很大 (例如,2100毫秒) , 也就是說... (是嗎?) 很多活性線索。 正在綁架大量資源 (如記憶體,開啟檔案,開啟套接字,...) , 那可不好
- 為"回應成功時刻" (自上次主要載入Datasets起) ",是n=大量? 表明最近有很多成功的要求。 這不是麻煩 意思是你ERDDAP™正在大量使用。
- "非Tomcat等待線的數量" 是典型的數值嗎? 這常常是嚴重的麻煩ERDDAP™慢慢來 最後冷藏 如果持續數小時,你可能會想先進重新开始ERDDAP™.
- 在「 Memory Use Summary」 清單的底部, 最後一個「 Memory: 目前使用」 值是否很高 ? 這可能只是表示使用率很高,或可能是麻煩的征兆。
- 看看線條清單和狀態 他們的數目不一樣嗎?
- 是 您所在的網路連接 目前慢? 搜索網路「網路速度測試」, https://www.speakeasy.net/speedtest/ . 如果你的機構的網絡連接很慢 那麼我們之間的連接ERDDAP™和遠端資料來源會很慢,ERDDAP™而使用者會很慢。 有時候,你可以停止不必要地使用網路來解決這件事 (例如,觀看流媒体或視頻會議電話的人) .
- 是 使用者的網路連接 目前慢? 讓使用者在網路上搜尋「網路速度測試」, https://www.speakeasy.net/speedtest/ . 如果使用者的網絡連接速度慢,會拖慢他們的存取ERDDAP. 有時候,他們可以解決這個問題 停止在他們的機構使用不必要的網路 (例如,觀看流媒体或視頻會議電話的人) .
- 困住?
看我們的部分.
關閉並重新啟動
- 如何關閉和重新啟動Tomcat和ERDDAP™
你不需要關閉和重新啟動Tomcat和ERDDAP如果ERDDAP™暫時是慢的,有些已知原因 (如文稿中的很多要求或WMS使用者) 修改datasets.xml文件。
你需要關閉並重新啟動Tomcat和ERDDAP™如果您需要對設定值. xml 檔案套用變更, 或者ERDDAP™冷藏 掛起來 或鎖起來 在极端的情況下,Java可能會冷藏一兩分鐘, 所以最好等一兩分鐘看看Java/ERDDAP™或只是收集垃圾 (如果垃圾收集是共同的問題將更多內存分配到Tomcat.)
我不建議使用Tomcat網絡應用程式管理員 開始或關閉Tomcat。 如果你不完全關閉和啟動Tomcat, 你遲早會有PermGen記憶體的問題。
關閉並重新啟動Tomcat和ERDDAP:
- 如果你使用 Linux 或 Mac :
(如果您已建立特殊使用者來執行 Tomcat, 例如 Tomcat, 請記住要做為使用者的以下動作 。)
- 使用 cd 湯姆卡 /本
- 使用 ps - ef|找到 java/ tomcat 行程的 grep tomcat 身份 (希望只列出一個流程) ,我們會稱呼 Java 處理器 下面。
- 如果ERDDAP™被冷冻/ 被困/ 被鎖住, 使用 kill - 3 Java 處理器 要告訴Java (它正在執行 Tomcat) 要對 Tomcat 紀錄檔做串排: 湯姆卡 /日志/卡塔琳娜. 出去。 重新啟動後, 您可以找到線的垃圾資訊來分析問題 。 (以及其他任何有用的信息) in 湯姆卡 也透過讀取相關部分,ERDDAP™日志歸檔. 如果你想的話,你可以把這份資訊寫進去 看看我們部分.
- 使用... /shutdown。 噓
- 使用 ps - ef|在 java/ tomcat 行程未列出之前, grep tomcat 重复 。
有時, Java/tomcat 行程需要兩分鐘才能完全關閉。 原因是:ERDDAP™但有時要花很長時間才能到一個好的地方。
- 如果一分鐘后 Java/tomcat 自己不來 你可以用
殺 - 9 Java 處理器
迫使java/tomcat 行程立即停止。 如果可能,只用此作为最后手段。 -9開關很強大 但可能會造成不同問題 - 要重新啟動ERDDAP™使用/啟動.sh
- 查看ERDDAP™在您的瀏覽器中檢查重启是否成功 。 (有時候你需要等30秒 試著加載ERDDAP™重新在您的瀏覽器中成功 。)
- 如果您使用 Windows :
- 使用 cd 湯姆卡 /本
- 使用shutdown.bat
- 您可能想要/需要使用 Windows 工作管理器 (可通过 Ctrl Alt Del 存取) 确保Java/Tomcat/ERDDAP™行程/應用程式已完全停止 。 有時候, 行程/應用程式需要兩分鐘才能關閉 。 原因是:ERDDAP™但有時要花很長時間才能到一個好的地方。
- 要重新啟動ERDDAP™,使用啟動。bat
- 查看ERDDAP™在您的瀏覽器中檢查重启是否成功 。 (有時候你需要等30秒 試著加載ERDDAP™重新在您的瀏覽器中成功 。)