性能問題總是數據庫領域里面永恒的話題,使用 DB2 作為底層數據平臺的 SAP 系統為我們提供了許多方法監控和檢測數據庫性能問題。本文從數據庫性能問題檢測的一般思路和方法論入手,介紹了如何通過 SAP 系統對 DB2 的性能進行監控和分析。回頁首數據庫性能問題檢測的思路及方法論在數據庫運維工作中遇到性能問題時,通常會讓數據庫管理員感到無從下手,不容易斷定問題的根源所在。如果能有一種可操作的一般性的方法作為指導,我們通常就能夠發現大部分數據庫性能問題的根源。那么,首先根據我們對數據庫性能監控的一些實踐經驗來總結一下在遇到性能問題時應該進行哪些檢查。我們不能保證通過文中介紹的方法就能找到所有性能瓶頸,性能問題的原因很多,解決方法也多種多樣,我們在這里只是提供一些普遍的,一般性的方法,具體的實施還需要根據系統的具體情況和不斷的實踐經驗積累。同時,通過進行這些監控,也有利于為技術支持人員提供更詳細診斷信息,以便于快速定位性能問題。當遇到一個性能問題,我們首先進行以下排查: 性能問題是在何時發生的; 性能問題持續存在的還是間斷性的; 系統范疇的性能問題還是數據庫本身的性能問題; 性能問題是否只存在于某一個應用; 性能問題是隨機出現的還是必然出現的。如果性能問題存在于所有應用,我們可以進行以下排查: 如果發現系統存在大量的 I/O 操作: 檢查設備使用情況; 檢查排序情況和臨時表空間; 檢查查詢性能是否有效的得到優化; 檢查緩沖池的使用狀況。 如果發現 CPU 具有很高的負載: 檢查排序狀況; 檢查緩沖池的使用狀況。 如果發現 CPU 和 I/O 操作的負荷都很大: 檢查用戶數量; 檢查排序狀況。 如果發現 CPU 和 I/O 操作的負荷都很小而數據庫響應仍然很慢: 檢查并發性和鎖的使用狀況; 檢查緩沖池的使用狀況。如果性能問題可以被定位在一個應用,我們可以進行以下排查: 檢查排序情況。 檢查并發性和鎖的使用狀況。 檢查統計信息是否更新。回頁首通過SAP 系統的工具對 DB2 UDB 進行監控通過前一部分的描述,我們了解到了在遇到性能問題以后應該用什么思路尋找性能的瓶頸,從而想辦法解決性能問題。在對數據庫進行檢查的過程中,我們通常會用到數據管理工具,命令行以及操作系統的工具,還要結合 SAP 的自身特點尋找性能問題的根源,這將是一個比較繁瑣和費事的工作。在使用 SAP 作為底層數據庫的 SAP 系統中,由于 SAP 實現了與 DB2 緊密的結合。SAP 的 DBA Cockpit 提供了許多功能來支持數據庫的管理工作,使得數據庫性能監控和分析變得更加簡單。下面我們就來看看,SAP 為 DB2 性能監控和分析提供了哪些支持。磁盤I/O 性能監控概念對于數據庫來說,最消耗時間的操作實際上是從磁盤中檢索數據。這是由磁盤的物理特性決定的。盡管磁盤存儲技術已經取得了極大的進步,但磁盤的讀寫速度與內存的讀寫速度仍然相差幾個數量級。從性能調整的角度來說,如果一個機器的磁盤出現問題,那么其他的任何優化工作都無法提供幫助。因此我們應該保證運行數據庫的磁盤系統是健康的。SAP 系統為我們提供了監控磁盤讀寫速度的功能,讓我們可以直接了解當前磁盤的性能狀況。監控我們首先進入 SAP 的 DBA Cockpit ( 可以直接輸入 st04),然后在 Performance 的目錄下雙擊 Database, Buffer Pool 的標簽內,可以看到當前數據庫磁盤的讀寫狀況。圖1. 磁盤 I/O 信息從圖中我們可以看到磁盤物理平均讀速度為 3.25ms,寫速度為 7.45ms。分析磁盤物理讀寫速度反應了磁盤子系統的性能。一般情況下,磁盤讀寫速度應該小于 5ms,讀速度一般要大于寫速度,但在一些具有大量緩存的存儲系統中,寫速度可能會快于讀速度。磁盤性能的優化已經超出了本文討論的范圍,這里只是提供一些基本的指導。緩沖池監控概念緩沖池是數據庫單獨開辟的一塊存儲區域,這片區域用來緩存從磁盤讀出的包含數據表和索引的數據頁。當數據第一次被檢索出來以后便被暫時緩存在緩沖池中,當數據下次被訪問時,數據庫將直接從緩沖池中讀取數據,這樣減少了相對緩慢的磁盤 I/O 操作。因此,緩沖池的配置對于數據庫性能十分重要。在緩沖池中,目前還不支持存儲大對象和長數據記錄。反映緩沖池質量的一個重要性能指標是緩沖池命中率。緩沖池命中率指數據庫管理器不需從磁盤讀入頁就能處理頁請求的時間百分比。其計算方法為:緩沖池命中率 = (1 - (( 緩沖池數據物理讀 + 緩沖池索引物理讀 ) / ( 緩沖池數據邏輯讀 + 緩沖池索引邏輯讀 ) ) ) * 100%另外兩個重要性能指標是索引命中率和數據命中率。索引命中率反映了可以在緩沖池中找到的頁面能夠滿足的對索引頁的所有讀請求所占的百分比。其計算方法為:索引命中率 = (1 - ( 緩沖池索引物理讀 / 緩沖池索引邏輯讀 ) ) ) * 100%數據命中率說明了可以在緩沖池中找到的頁面能夠滿足的對數據頁的所有讀請求所占的百分比。其計算方法為:數據命中率 = (1 - ( 緩沖池數據物理讀 / 緩沖池數據邏輯讀 ) ) ) * 100%監控我們可以從三個級別來看緩沖池的質量,這三個層次分別是數據庫級,緩沖池級,表空間級。在 SAP 系統中我們可以使用 DBA Cockpit 來查看不同級別的緩沖池質量。首先可以在數據庫級查看緩沖池的質量,我們進入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Buffer Pool 的標簽內,可以看到當前數據庫總體的緩沖池質量。圖2. 緩沖池總體狀況我們從圖中可以看出,數據庫緩沖池的總體命中率是 99.81%,數據命中率為 99.86%,索引命中率為 99.70%。如果在 st04 中選中 Performance - Buffer pools, 我們也可以在緩沖池級別看到命中率,如果一個數據庫只有一個緩沖池,那么這個命中率與我們在數據庫級別看到的命中率相同。圖3. 數據庫級別緩沖池信息如果在 st04 中選中 Performance - Tablespaces,我們就可以在表空間級別看到緩沖池的命中率。圖4. 表空間級別緩沖池信息分析緩沖池的理想命中率對于索引應該大于 90%, 對于數據應該大于 95%。要提高緩沖池的命中率,可以增加緩沖池的大小,也可以為不同類型數據分配不同緩沖池,可以為每個經常訪問的具有自己的表空間的大型表使用一個緩沖池,也可以為一組小型表使用一個緩沖池。緩存監控概念數據庫的緩存主要有包緩存 (Package Cache) 和編目錄緩存 (Catalog Cache)。它們與數據庫的查詢性能息息相關。包緩存(Package Cache) :SQL 語句編譯通常消耗的資源比較大,為了提高系統性能,動態 SQL 語句在被編譯后一般存放于包緩存中。當用戶下一次請求同一條 SQL 語句,就無需再次編譯 SQL 語句。包緩存的質量一般通過包緩存命中率來衡量,它表明了包緩存的設置是否成功的避免了 SQL 語句的重新編譯。其計算方法為:包緩存命中率 = (1 - ( 在包緩存中的插入次數 / 查詢包緩存的次數 )) * 100編目錄緩存 (Catalog Cache):編目錄緩存用來緩存系統編目錄信息,如系統表,權限,系統存儲過程。系統編目錄的訪問速度對于系統的性能有著十分重要的影響。在 DPF 環境下,系統編目錄的訪問速度至關重要。通過使用編目錄緩存可以大大提高訪問系統編目錄的速度。編目錄緩存質量一般通過編目錄命中率來衡量,它表明了編目錄緩存是否成功的避免了從磁盤中讀取編目錄信息。其計算方法為:包緩存命中率 = (1 - ( 在編目錄緩存中的插入次數 / 查詢編目錄緩存的次數 )) * 100監控我們進入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Cache 的標簽內,可以看到當前數據庫緩存的統計信息。圖5. 數據庫緩存信息從圖中我們可以看到編目錄緩存的質量是 99.93%,在圖中的 quality 就是我們前面所說的命中率。當前數據庫編目錄緩存的大小為 10240KB,沒有緩存溢出。在左邊一欄,我們可以看到,包緩存的質量是 97.64%,包緩存的大小為 62080KB,沒有緩存溢出。分析包緩存的理想命中率應該大于 98%,用戶通常不用關注包緩存的大小,如果 PCKCACHESZ 被設置為 automatic,其大小由 DB2 自動調節。編目錄緩存的理想命中率也應該大于 98%,其大小應該保證編目錄緩存不應該發生任何溢出。我們可以調整數據庫配置參數 CATALOGCACHE_SZ 來改變編目錄緩存大小,由于編目錄緩存是從數據庫堆中分配的,因此,在改變 CATALOGCACHE_SZ 變量的同時,應該注意到數據庫堆的大小也會相應改變。排序監控概念DB2 在運行過程中時經常要做排序操作。一般說來,在 OLTP 類型的數據庫中,排序操作通常少于 OLAP 類型的數據庫環境。排序操作通常會在三種情況下發生,第一種情況是數據的查詢處理,比如 order by, group, 哈希連接,索引操作,內存的表操作等等。第二種是當我們載入操作的對象是帶有索引的表時,再載入操作過程中就會涉及到對索引鍵的列表和排序,這樣就會產生排序操作。第三種情況發生在創建索引的時候。排序的效率因而直接影響到數據庫的響應時間,我們必須對排序進行有效監控。監控我們進入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Sorts 的標簽內,可以看到當前數據庫的排序狀況。圖6. 數據庫排序狀況可以從圖中看出,共享排序堆的大小為 1676KB, 私有排序堆的大小為 1340KB。如果沒有索引滿足所取的行的要求順序,或者 DB2 查詢優化器認為排序的代價低于索引掃描,那么就需要在排序堆中進行排序。DB2 的排序分為私有排序和共享排序。私有排序發生在代理的私有代理內存中,而共享排序發生在數據庫的數據庫共享內存中。我們還可以看出,排序堆溢出次數 1174 次,總的排序次數為 310642 次。分析如果數據庫分配的排序堆大小不夠大,就會出現排序溢出的情況,這樣就需要動用臨時表空間來輔助排序的進行,由于臨時表空間存在于磁盤,這將大大影響排序的速度。理想情況下,排序溢出率 ((Sort overflows * 100) / Total sorts ) 不應該超過 1%。如果這個溢出率過高,那么數據庫中很可能發生了大的排序,我們就需要調查出現過度排序的原因。在發現根源之前,一個簡易的解決方案是增加 SORTHEAP 的大小。然而,這樣做通常是治標不治本并且掩蓋了真實的性能問題。比較徹底的解決方案應該是確定引起排序的 SQL 并更改該語句,或通過增加索引來避免或減少排序開銷。并發性和鎖的監控概念數據庫的鎖是數據庫管理器用來控制應用程序并發訪問數據庫數據并且保證數據庫數據的一致性的重要機制,數據庫中行和表都可以上鎖。數據庫的鎖在保證了數據庫數據一致性同時也在一定程度上降低了數據庫的響應速度。鎖等待和死鎖是影響數據庫相應速度的重要因素,糟糕的應用程序設計和不合理的 SQL 查詢計劃的生成都會導致鎖等待和死鎖。鎖升級 (Lock Escalation):一個鎖通常作為一個記錄存儲在內存鎖表中,鎖表的大小可以由數據庫自動調節。鎖升級一般發生在鎖的數量超過了數據庫配置參數 MAXLOCKS 所指定的大小,為了減少鎖的數量,數據庫會把若干行一級的鎖合并為表鎖。這樣數據庫的并發性就會受到影響。監控我們進入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Locks and Deadlocks 的標簽內,可以看到當前數據庫的鎖的狀況。圖7. 數據庫鎖狀況從圖中可以看到,當前鎖表的大小為 22144KB,已經使用了 94KB。鎖等待的平均時間為 10.40ms,沒有鎖升級和死鎖被檢測到。分析影響數據性能的有關鎖的問題主要集中在鎖等待,死鎖和鎖升級。這些問題的根源很可能是數據庫應用的設計問題。因此,我們應該仔細調查造成死鎖,鎖等待和鎖升級的應用程序,以及其用到的 SQL 語句。同時,在問題定位之前,我們也可以通過下面方法來解決數據庫鎖造成的性能問題。鎖等待和死鎖:如果要避免鎖等待和死鎖的問題我們需要注意數據庫參數中的 DLCHKTIME 和 LOCKTIMEOUT 兩個參數的設置。其中 DLCHKTIME 單位是毫秒,是 DB2 檢查死鎖的間隔時間,如果該值為 10000ms,則表明每隔 10 秒鐘數據庫會檢查一下有無死鎖存在,如有死鎖,會選擇回滾其中的某一個事務,讓另外一個事務完成交易。LOCKTIMEOUT 單位是秒,是鎖等待最長時間,超過該時間仍未獲得鎖,則返回錯誤。LOCKTIMEOUT 的默認值為 -1,這意味著鎖等待時間無限大,一般不推薦這種設置。DLCHKTIME 時間通常要設得比 LOCKTIMEOUT 時間小一些,否則還未發現死鎖,就會返回鎖等待超時錯誤 (SQL0911N 返回碼 68) 。鎖升級:要避免鎖升級,我們應該正確設置數據庫參數 LOCKLIST 和 MAXLOCKS。LOCKLIST 表明分配給鎖表的內存大小。每個數據庫都有一個鎖表,鎖表包含了并發連接到該數據庫的所有應用程序所持有的鎖。MAXLOCKS 定義了應用程序可以占有鎖表空間的百分比,當一個應用程序所使用的鎖表百分比達到 MAXLOCKS 時,數據庫管理器會升級這些鎖,用表鎖代替行鎖,從而減少列表中鎖的數量。我們一般可以通過增加鎖表大小的方法解決鎖升級問題。日志性能監控概念DB2 事務日志對于恢復來說極其重要。它們記錄對數據庫對象和數據所做的更改。在 DB2 中數據和索引的改變都會先被寫入日志緩沖區,保證對數據所做的修改在記錄到數據庫之前,總是被具體化為日志文件。日志緩沖區的數據由日志處理器寫入磁盤。在下列情況下,查詢處理必須等待日志數據寫入磁盤后才能進行: 事務提交時。 在將相應數據頁寫入磁盤之前,因為 DB2 使用預寫日志記錄。預寫日志記錄的好處是當執行 COMMIT 語句完成事務之后,并非所有更改的數據和索引頁都需要寫入磁盤。 在元數據更改(一般通過執行 DDL 語句產生的)之前。 日志緩沖區已滿。DB2 以這種方法管理向磁盤寫入日志數據的目的是盡可能地縮短處理延遲時間。在存在許多較小的并發事務的環境中,許多處理延遲是由 COMMIT 造成的,因為它必須等待日志數據寫入磁盤后才能進行。因此,日志處理器進程頻繁地將少量日志數據寫入磁盤會造成大量處理延遲,另外一些延遲是由日志 I/O 開銷造成的。監控我們進入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Logging 的標簽內,可以看到當前數據庫日志的狀況。圖8. 數據庫日志狀況我們在圖中可以看到日志文件以及日志緩沖區的情況。包括日志文件的數量,大小,數據庫使用的日志空間以及可用日志空間的大小。還可以看到日志緩沖區的情況,當前日志緩沖區的命中率為 100%。分析由于數據庫中的處理必須等待日志數據寫入磁盤才能進行,日志文件的讀寫速度對數據庫的響應速度也會產生很大影響。因此,應該把日志文件放到速度比較快的磁盤上,以減少磁盤 I/O 開銷。日志文件寫入的性能可以通過平均寫時間來觀察。另外,我們可以通過調整數據庫配置參數 LOGBUFSZ 來指定日志緩沖區的大小。如果數據庫對于日志磁盤有相當多的讀操作,或者希望有較高的磁盤利用率。一般來說,如果日志緩沖區的命中率小于 98%,那么可以增加這個緩沖區的大小以提高命中率。當增加這個參數的值時,也要考慮 DBHEAP 參數,日志緩沖區使用的空間是 DBHEAP 參數所定義的內存空間的一部分。數據庫統計信息監控概念數據庫的統計信息反映了表及其相關索引的物理特點。統計信息主要包含: 表信息:表的行數,使用的數據頁,溢出的行數,列的平均長度,列的最大最小值等。 索引信息:索引條目的數量,索引所關聯列的不同值的數量,索引的層數等。這些信息被數據庫查詢優化器用來生成查詢計劃。好的訪問計劃對于 SQL 語句的快速執行至關重要。我們需要想辦法保證統計信息準確地反映了當前數據庫的狀況。由于數據庫的表和索引總是隨著數據庫處理各種更新請求而不斷發生變化的,因此,總會出現統計信息過時,而不能正確反映數據庫數據現狀的情況。這時,數據庫查詢優化器生成的查詢計劃可能不是最優的,這將大大影響數據庫的查詢性能。我們應該經常檢查數據庫的統計信息是否為最新的,并及時更新統計信息。SAP 系統為我們提供了監控和執行統計信息收集的方法。監控我們進入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Tables, 在 Table 列表中雙擊要監控的表,在 Table 的標簽中,我們可以看到當前表的基本信息。這時,如果我們點擊 Count 按鈕,就會看到統計信息的質量。圖9. 表的統計信息狀況從圖中我們看到,表的當前行數為 27,Deviation 為 8%。分析如果我們監控到一個表的 Deviation 超過了 15%,我們就應該重新收集這個表的統計信息。在 SAP 中我們可以選擇手動收集統計信息。我們也可將系統配置成自動收集統計信息,這樣大大減少了系統手動維護的工作量。自動統計信息收集通常每隔 2 個小時觸發一次,它會自動選擇在 24 小時之內沒有收集過統計信息的持久的基表。如果 SAP 系統進行 Client Copy 或在 BI 表中加載大量數據,由于這些操作在短時間就可以改變表的數據狀況及分布,因此會導致統計信息的過時。在 DB2 V9.5 中,為了解決這個問題,提供了一種 RTS (Real Time Statistics) 的特性,該特性可以允許在查詢被處理并優化前對表的統計信息進行收集或采樣,如果優化器認為重新收集統計信息比用過時的統計信息進行查詢的速度快,那么會在處理該查詢之前重新收集表的統計信息,從而達到實時收集統計信息的目的。我們一般需要將數據庫配置參數 AUTO_STMT_STATS 設為 ON 來開啟 RTS 特性,但在 SAP 系統中,RTS 已經是默認設置,我們無需進行任何改變。回頁首結束語本文從數據庫問題檢測的一般思路和方法論出發,介紹了如何通過 SAP 系統對 DB2 的性能進行監控。
網站設計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發可交付網站源代碼;符合網站優化排名的后臺管理系統;網站設計、網站建設收費合理;免費進行網站備案等企業網站建設一條龍服務.我們是一家持續穩定運營了十多年的創新互聯網站建設公司。
SAP的優點:
領先能力——品牌知名度高; 品牌美譽度較好;公司實力較強,管理軟件涉及比較全面,不止單單局限于CRM;
產品能力——產品線很完整,功能很強大,在移動終端的支持方面做得較好;
服務能力——實施方法論非常成熟,項目管理和軟件實施的專業性很強;
價值回報——大型企業客戶較多,投資回報比較高。
SAP的缺點:
CRM專業實施人員較少,專業的CRM合作伙伴較少;
系統復雜,造成維護不方便、復雜,尤其是現場服務缺乏;
價格較貴,實施服務和維護服務價格較高。?
SAP 客戶關系管理 (SAP CRM),既能幫助您解決迫在眉睫的問題(即降低成本和提高決策能力),又能幫助您的公司實現差異化,以獲得長期的競爭優勢,這是SAP CRM產品對自己的定位要求,為適應競爭環境,產品在不斷完善,企業在不斷發展。
SAP系統就是當前最具影響力,代表智能性、先進性、可持續性的企業管理系統。全球77%的交易收入都與SAP系統有關,SAP(思愛普)是ERP的代名詞,是全球最大的企業管理和協同化商務解決方案供應商、全球第二大云公司,在中國已經有超過 16,100 多家客戶。
SAP系統是先進性的代表。目前,SAP已經深入到各個行業以及領域,其中使用SAP最具代表的企業有Microsoft、Pfizer, Inc.、IBM等,國內的比如中國石油,甚至于銀行管理系統都運用到SAP系統,可以預見SAP系統的先進性,以及前瞻性。先進代表的不僅僅只是當前,也包括未來10年之內,系統的性能與數據處理模式都適應當代的發展模式。對于這一點,很多傳統的erp系統都做不到,很多行業都是一個系統多用,基本的開發模式都已經限定好,可塑性不強。
SAP系統是智能性管理系統代表。這里還是拿傳統型erp系統進行對比,有對比才能凸顯SAP系統的智能化。我們都知道erp系統是一種數據交互行為,傳統的erp數據比較死板,基本上不存在對數據的分析,簡單的調用與輸入輸出基本構成數據的參數。而SAP系統卻出基本的輸入輸出操作之外,還有自主檢測成本,根據企業的管理模式輸出合理的結果。比如倉儲,進貨量與每月銷售量的對比,從而得出最佳的庫存數據,防止積壓貨物。智能性使用過SAP系統的企業可以明顯體會出來,所以這也是企業追逐SAP人才的根本原因。
是一個erp系統,sap公司的
下面是他的某一個版本的介紹
SAP R/3軟件具備以下功能和主要特點:
功能性:R/3以模塊化的形式提供了一整套業務措施,其中的模塊囊括了全部所需要的業務功能并把用戶與技術性應用軟件相聯而形成一個總括的系統,用于公司或企業戰略上和運用上的管理。
集成化: R/3把邏輯上相關聯的部分連接在一起。重復工作和多余數據被完全取消,規程被優化,集成化的業務處理取代了傳統的人工操作。
靈活性:R/3系統中方便的裁剪方法使之具有靈活的適應性,從而能滿足各種用戶的需要和特定行業的要求。R/3還配備有適當的界面來集成用戶自己的軟件或外來的軟件。
開放性:R/3的體系結構符合國際公認的標準,使客戶得以突破專用硬件平臺及專用系統技術的局限。同時,SAP提供的開放性接口,可以方便地將第三方軟件產品有效地集成到R/3系統中來。
用戶友好:圖標與圖形符號簡化了人機交互時的操作。統一設計的用戶界面確保了工作人員能夠運用同樣的熟悉的技術從事不通的工作。
模塊化:R/3的模塊結構使用戶既可以一個一個的選用新的實用程序,也可以完全轉入一個新的組織結構體系。
可靠:作為用戶的商業伙伴SAP始終不斷地為集成化軟件的質量設立越來越多的國際標準。
低成本高效益:信息處理是取得競爭優勢的要點之一。當競爭加劇時,企業必須更加努力地獲取其市場占有量。這就要使用高度集成化的數據處理軟件,而R/3正是這種軟件的優秀典范。
國際適用:R/3支持多種語言,而且是為跨國界操作而設計的。R/3可以靈活地適應各國的貨幣及稅物要求。
服務:R/3系統實施過程中,用戶將得到SAP技術專家的全面支持與服務,包括組織結構方面與技術方面的咨詢,項目計劃與實施方面的協助,以及培訓課程。
★生產計劃和控制
★銷售與分銷
★物料管理
★財務會計
★管理會計
★資產管理
★系統技術基礎
實在不好意思,這個SAP自己也不是很明白,只能在網上找到這個,希望你幫到你的忙,但是有一點要說下,絕對不是看也不看就拿過來的,絕對是你需要的,也是希望你能有更多的了解。其實這樣的問題上百度上有許多,自己找找效果可能會更好!
分享題目:包含sap系統性能分析的詞條
URL標題:http://vcdvsql.cn/article4/dopjeoe.html
成都網站建設公司_創新互聯,為您提供商城網站、網站改版、網站內鏈、網站收錄、網站建設、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯