天天看點

LDAP 性能測試腳本開發

作者:霍格沃茲測試

LDAP 是什麼?

LDAP 是輕量目錄通路協定,英文全稱是 Lightweight Directory Access Protocol,一般都 簡稱位 LDAP。它是基于 X.500 标準的,但更簡單并且可以根據需要定制。與 X.500 不同,LDAP 支援 TCP/IP 協定,這對通路 Internet 來說是必需的。LDAP 的核心規範在 RFC 中都有定義,所有與 LDAP 相關的 RFC 都可以在 LDAPman RFC 網頁中找到。一個簡單的 LDAP 元件配置案例

1.LDAP 簡介

簡單來說,LDAP 是一個用于得到關于人或者資源的集中、靜态資料的快速方式。

LDAP 是一個用來釋出目錄資訊得到許多不同資源的協定。通常它作為一個集中的位址本使用,不過根據組織者的需要,可以做得更加強大。

2.LDAP 的實質

LDAP 其實是一個電話簿,類似于我們所使用的諸如 NIS(Network Information Server)、DNS(Domain Name Server)等的網絡目錄,也類似于測試人員在花園中所看到的樹木。

不少 LDAP 開發人員喜歡把 LDAP 與關系資料庫相比,認為是另一種存儲方式,然後在讀性能上進行比較。實際上這種對比的基礎是錯誤的。LDAP 和關系資料庫是兩種不同層次的概念,後者是存儲方式(同一層次如網絡資料庫、對象資料庫),前者是存儲模式和通路協定。LDAP 是一個比關系資料庫抽象層次更高的存儲概念,與關系資料庫的查詢語言 SQL 屬同一級别。LDAP 最基本的形式是一個連接配接資料庫的标準方式。該資料庫為讀查詢做了優化,是以它可以很快地得到查詢結果,不過在其他方面,例如更新,就慢得多了。

3.特殊的資料庫

從另一個意義上,LDAP 是實作了指定的資料庫結構的存儲,它是一種特殊的資料庫。但是 LDAP 和一般的資料庫不同,明白這一點是很重要的。LDAP 對查詢進行了優化,與寫性能相比 LDAP 的毒性能要優秀很多。

就像 Sybase、Orancle、Informix 或 Microsoft 的資料庫管理系統(DBMS)是用于處理查詢和更新關系型資料庫那樣,LDAP 伺服器也是用來處理查詢和更新 LDAP 目錄的。換句話來說 LDAP 目錄也是一種類型的資料庫,但不是關系型資料庫。要特别注意的是 LDAP 通常作為一個分級資料庫使用,而不是一個關系資料庫,是以它的結構用樹來表示用表格好。正因為這樣,就不能用 SQL 語句了。

現在 LDAP 技術發展得很快,在企業範圍内實作 LDAP 可以讓運作在幾乎所有計算機平台上的所有應用程式從 LDAP 目錄中擷取資訊。LDAP 目錄中可以存儲各種類型的資料:電子郵件位址、郵件路由資訊、人力資源資料】公用秘鑰、聯系人清單,等等。通過把 LDAP 目錄作為系統內建中的一個重要環節,可以簡化員工在企業内部查詢資訊的步驟,甚至連主要的資料源都可以放在任何地方。

4.LDAP 目錄的優勢

如果需要開發一種提供公共資訊查詢的系統,一般的設計方法可能是采用基于 Web 的資料庫設計方式,即掐你的那使用浏覽器而後端使用 Web 伺服器加上關系資料庫。後端在 Windows 的典型實作可能是 WindowsNT+IIS+Access 資料庫或者是 SQL Server,IIS 和資料庫之間通過 ASP 技術使用 ODBC 進行連接配接,達到通過填寫表單查詢資料的功能。

後端在 Linux 系統的典型實作可能是 Linux+Apache+PostgreSQL,Apache 和資料庫之間通過 PHP3 提供的函數進行連接配接。使用上述方法的缺點是後端關系資料庫的引入引導系統整體的性能降低和系統的管理比較繁瑣,因為需要不斷底進行資料類型的驗證和事物完整性的确認;并且前端使用者對資料的控制不夠靈活,使用者權限的設定一般隻能是設定在表一級而不是設定在記錄一級。

目錄服務的退出主要是解決上述資料庫中存在的問題。目錄與關系資料庫相似,是指具有描述性的基于屬性的記錄集合,但它的資料類型主要是字元型,為了檢測的需要添加 BIN(二進制資料)、CIS(忽略大小寫)、CES(大小寫敏感)、TEL(電話型)等文法(Syntax),而不是關系資料庫提供的整數、浮點數、日期、貨币等類型。同樣也不提供像關系資料庫中普遍包含的大量的函數,它主要面向資料的查詢服務(查詢和修改操作比一般是大于 10:1),不提供事物的復原(Rollback)機制。它的資料修改使用簡單的鎖定機制實作 All-or-Noting,它的目标是快速響應和大容量查詢并且提供多目錄伺服器的資訊複制功能。

現在來介紹 LDAP 目錄到底有些什麼優勢。現在 LDAP 的流行是很多因素共同作用的結果。肯呢個 LDAP 最大的優勢是:可以在任何計算機平台上,用很容易獲得的而且數目不斷增加的 LDAP 的用戶端通路 LDAP 目錄,而且也很容易定制應用程式為它加上 LDAP 的支援,

5.LDAP 的協定

LDAP 協定是跨平台和标準協定,是以應用程式就不用為 LDAP 目錄放在什麼樣的伺服器上操心了。實際上,LDAP 得到了業界的廣泛認可,因為它是 Internet 的标準。廠商都很願意在産品中加入對 LDAP 的支援,因為他們根本不用考慮另一端(用戶端或服務端)是怎樣的。LDAP 伺服器可以是任何一個開放源代碼或商用的 LDAP 目錄伺服器(或者還可能是具有 LDAP 伺服器進行互動。與 LDAP 不同的是,如果軟體廠商想在軟體産品中內建對 DBMS 的支援,那麼通常都要對每一個資料庫伺服器單獨定制。不像很多商用的關系型資料庫,測試人員不必為 LDAP 的每一個用戶端連接配接或許可協定付費。大多數的 LDAP 伺服器安裝起來很簡單,也很容易維護和優化。

搜尋微信公衆号:TestingStudio 霍格沃茲的幹貨都很硬核