ProHoster > Блог > басқарма > Кезектер және JMeter: Publisher және жазылушымен бөлісу
Кезектер және JMeter: Publisher және жазылушымен бөлісу
Сәлем, Хабр! Бұл менің жалғасы алдыңғы жарияланым, онда мен JMeter көмегімен хабарламаларды кезекке қою опциялары туралы айтатын боламын.
Біз үлкен федералды компания үшін деректер шинасын жасап жатырмыз. Түрлі сұрау форматтары, түрлендірулер, күрделі маршруттау. Тестілеу үшін кезекке көп хабарлама жіберу керек. Қолмен емдеу - бұл әр хиропрактордың қолынан келе бермейтін ауру.
Кіріспе
Бұл азапқа алғашында шыдауға тура келгенімен. Барлығы RFHUtil-тен басталды. Күшті, бірақ ыңғайсыз және қорқынышты: Сіз Русті білесіз.
Кейбір жағдайларда таптырмас, бірақ белсенді пайдалану жағдайында тұрақты түрде төмендейді.
Онымен ыңғайлы тестілеу мүмкін емес.
JMeter көмегімен бәрі оңайырақ болды. Меңгеріп, дағдыланудың бірінші кезеңінен кейін бақытты сынаққа үміт оты жая бастады.
Мен JMS Publisher және JMS Subscriber үлгілерін белсенді қолданамын. JMS Point-to-Point-тен айырмашылығы, бұл жұпты пайдалану ыңғайлырақ болып көрінді. Мысалы, JMS Selector ішіндегі Subscriber көмегімен айнымалы мәнді көрсетуге болады, бірақ Point-to-Point көмегімен мүмкін емес (немесе бұл әдіс өте айқын емес).
Сынамаларды дайындау
JMS Publisher
Орнату - Әрбір үлгі. Апачи ұсынады егер кезектер/тақырып айнымалы мәндер арқылы көрсетілген болса, осы опцияны пайдаланыңыз.
Жарамдылық мерзімі (мс) = 120000. Сәтсіздік жағдайында сынақ сұраулары 2 минуттан кейін кезектен жоғалады.
Тұрақты емес жеткізу режимін пайдалану керек пе? - рас. IBM бекітедібұл тұрақты режим кенеттен істен шыққан жағдайда жіберілген хабарламалардың сенімді сақталуын қамтамасыз етеді. Тұрақты емес режимде жылдам алмасу. Тестілеу мақсатында жылдамдық маңыздырақ.
Әрбір Publisher-де жазылушы JMS селекторында пайдаланатын jms сипатын орнатамын. Әрбір жіберу үшін пайдаланушы параметрлері сынақ жоспарының элементінде кездейсоқ мән жасалады:
Осылайша сіз дұрыс хабарлама оқылғанына сенімді бола аласыз.
Алдын ала конфигурацияланған JMS Publisher бағдарламасының соңғы "бос" орны:
JMS жазылушысы
Орнату - Әрбір үлгі. Жарайды, түсінесің.
Күту уақыты (мс) = 100000. Егер сұрау 100 секунд күткеннен кейін кезекке келмесе, бірдеңе дұрыс болмады.
Үлгілер арасында тоқтау керек пе? - рас.
JMS селекторы - өте ыңғайлы нәрсе. Соңғы JMS жазылушысы:
Жіберілген хабарламаларда кирилл әліпбиімен қалай күресуге болады. JMeter-де әдепкі бойынша, түзетуден кейін ол қисық көрсетіледі. Бұған жол бермеу және әрқашан және барлық жерде ұлы және күшті ләззат алу үшін сізге қажет:
JMeter «іске қосу құралына» JVM аргументін қосыңыз:
Ең жалқау нұсқа. Жаңадан жазылған сынақтарды түзету үшін қолайлы. Немесе кем дегенде кішкентай нәрсе жіберу қажет болған жағдайлар үшін. Опцияны таңдаңыз Хабарлама көзі - Textarea және мәтіндік блокқа хабарламаның негізгі бөлігін орналастырыңыз:
Файл беру
Ең көп таралған нұсқа. Көптеген сценарийлер үшін қолайлы. Опцияны таңдаңыз Хабар көзі - файлдан және өрісте хабарламаға жолды көрсетіңіз Файл - Файл атауы:
Файлды мәтіндік өріске тасымалдау
Ең әмбебап нұсқа. Көптеген сценарийлер үшін қолайлы + екінші жіберу опциясы жоқ JMS Point-to-Point бағдарламасында қолдануға болады:
Байт массивінен өту
Ең қиын нұсқа. Сұраныстардың байтқа дейін бұрмаланусыз, SMS және кедергісіз қатесіз дәл берілуін тексеру үшін қолайлы. Сіз мұны әдепкі JMeter-де жасай алмайсыз. осында Маған бұл туралы сөзсіз айтылды.
Сондықтан жүктеуге тура келді көздері және өзгерту код JMS жазылушысы.
Әдісте ауыстырылды extractContent(..) түзу:
buffer.append(bytesMessage.getBodyLength() + " bytes received in BytesMessage");
Мен күн сайын тәжірибеде қолданатын хабарламаларды кезекке жіберудің төрт әдісін сипаттадым. Бұл ақпарат сіздің өміріңізді жеңілдетеді деп үміттенемін. Әрі қарай, мен бір жағында кезек, ал екінші жағында деректер базасы немесе файлдық жүйе бар алмасуды сынау тәжірибем туралы айтуды жоспарлап отырмын.
Уақытыңызды үнемдеңіз. Және назарларыңызға рахмет.