redis 持久化性能_高性能持久消息
redis 持久化性能
總覽
盡管有許多可用于Java的高性能消息傳遞系統(tǒng),但大多數(shù)都避免引用基準(zhǔn),包括持久消息傳遞和消息的序列化/反序列化。 這樣做有多種原因。 1)您并不總是需要或想要持久消息2)您希望使用自己的序列化選項(xiàng)。 避免使用它們的一個(gè)重要原因是,這兩種方法都會(huì)使消息傳遞速度降低多達(dá)10倍,看起來(lái)并不那么好。 大多數(shù)消息傳遞基準(zhǔn)測(cè)試都將重點(diǎn)介紹傳遞原始字節(jié)而沒(méi)有持久性的性能,因?yàn)檫@提供了最高的數(shù)字。 有些還引用了持久消息編號(hào),但是這些編號(hào)通常要慢得多。
如果您需要高效地對(duì)實(shí)際數(shù)據(jù)進(jìn)行序列化和反序列化,并且即使您已學(xué)會(huì)了不使用這些數(shù)據(jù),也想記錄和重播消息該怎么辦?
更高的性能序列化和耐用性
我已經(jīng)編寫(xiě)了一個(gè)庫(kù),試圖解決更多的問(wèn)題,正如我所看到的,以便為您提供更好的整體解決方案。 它不是可用的最快消息傳遞,但是它是持久的,并且包括序列化和反序列化時(shí)間。 正如我已經(jīng)指出的那樣,這可能比傳輸序列化數(shù)據(jù)的成本高10倍,因此在實(shí)際應(yīng)用中,該解決方案可以更快。
示例:發(fā)送價(jià)格
在此測(cè)試InProcessChronicleTest .testPricePublishing()中,我發(fā)送價(jià)格事件,該事件包括一個(gè)較長(zhǎng)的時(shí)間戳,一個(gè)符號(hào),一個(gè)出價(jià)價(jià)格/數(shù)量和要價(jià)/數(shù)量。 寫(xiě)入數(shù)據(jù)的時(shí)間為0.4 μS(0.0004毫秒),通過(guò)TCP連接接收數(shù)據(jù)的時(shí)間為1.8 μS。
注意:此連接在兩端都是持久的,因此您可以查看哪些數(shù)據(jù)已排隊(duì)發(fā)送和已接收。 如果連接丟失,即使服務(wù)器不可用(例如,重新啟動(dòng)客戶(hù)端),它也可以從原來(lái)的位置繼續(xù)播放,或者可以選擇播放客戶(hù)端已經(jīng)收到的任何消息。
為了發(fā)送和接收500萬(wàn)條消息,我使用了-Xmx32m -verbosegc標(biāo)志,該標(biāo)志表明只需要很少的堆,并且在此測(cè)試過(guò)程中沒(méi)有發(fā)生任何GC。 這意味著該庫(kù)對(duì)您的其余應(yīng)用程序影響很小。
與外部化對(duì)象進(jìn)行比較。
為了說(shuō)明這一點(diǎn),我將其與在InProcessChronicleTest中序列化和反序列化包含相同數(shù)據(jù)的對(duì)象所需的時(shí)間進(jìn)行了比較。 testSerializationPerformance()。 PriceUpdate對(duì)象是可外部化的,并且該基準(zhǔn)測(cè)試 “比較JVM平臺(tái)上序列化庫(kù)的各個(gè)方面”表明,可外部化對(duì)象可以是可用的最快序列化之一。 在同一臺(tái)計(jì)算機(jī)上花費(fèi)的時(shí)間是2.7 μS進(jìn)行序列化和7.5 μS進(jìn)行反序列化。 注意:這不包括消息傳遞或持久性,僅用于序列化和反序列化。
| Java紀(jì)事 | TCP和持久性 | 0.4微秒 | 1.8微秒 |
| 可外部化 | 沒(méi)有 | 2.7微秒 | 7.5微秒 |
| 可序列化 | 沒(méi)有 | 3.8微秒 | 13.2微秒 |
結(jié)論
在對(duì)消息傳遞進(jìn)行基準(zhǔn)測(cè)試時(shí),您應(yīng)該包括發(fā)送和接收真實(shí)消息所花費(fèi)的時(shí)間,而不僅是byte [],還包括持久性(如果需要)。
參考:來(lái)自Vantage Java博客的JCG合作伙伴 Peter Lawrey提供的高性能持久消息 。
翻譯自: https://www.javacodegeeks.com/2013/02/high-performance-durable-messaging.html
redis 持久化性能
總結(jié)
以上是生活随笔為你收集整理的redis 持久化性能_高性能持久消息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: T60笔记本扩内存(t460笔记本内存)
- 下一篇: api过滤器_了解播放过滤器API