개발자

JMeter Websocket테스트 질문드립니다

2024년 03월 15일조회 256

JMeter로 Websocket 테스트를 구현해야 하는 상황인데 테스트 진행하는 도중 아래 에러가 나서 찾아보니 Single Write Sampler에 Data 인코딩 문제로 추측만 되고 있습니다... Failed to parse TextMessage payload=[SEND desti..], byteCount=242, last=true] in session ujvhyrid. Sending STOMP ERROR to client. org.springframework.messaging.simp.stomp.StompConversionException: Frame must be terminated with a null octet JMeter Sampler 인코딩 UTF-8로 설정하는건 찾아서 해봤는데 그래도 안되네요...ㅠㅠ 정말로 인코딩 문제인지 혹시 동일한 경험이 있으신 분이 계실까요? 구글링을 해도 자료를 못찾겠고.. 사내에 해당 지식을 가지신 분도 전무하셔서 너무 답답해서 질문남겨봅니다....

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

김연호님의 프로필 사진

해결 하셨을 것 같은데 혹시나 도움되실까 글 적어봅니다 STOMP 프로토콜 사용 중이신가요? 프레임 바디의 마지막에 NULL octet을 넣어서 끝을 알려줘야 하는 걸로 알고 있습니다. (참고로 NULL octet은 종종 문자열이나 데이터의 끝을 표시하는데 사용될 수 있다고 합니다) JMeter에서 SEND 요청을 보내는 데이터 마지막에 NULL octet을 넣어보세요 저도 websocket을 사용하고 jmeter를 이용해 성능테스트를 해보고 있는데 null octet을 제외하니 똑같은 오류가 나오네요^^ STOMP 공식문서를 참고했습니다만 정확한 답변이 아닐 수 있습니다. https://stomp.github.io/stomp-specification-1.2.html#Augmented_BNF

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 03월 15일

스프링의 Stomp는 프레임의 끝을 null octet로 확인합니다. 해당 에러 메시지는 아마도 해당 요구사항이 충족되지 않아 발생한 것 같습니다. JMeter의 WebSocket 플러그인으로 테스트를 진행하고 있다면, 프레임 종료 부분에 null octet가 추가되었는지 확인해 보세요. 또한, 일부 WebSocket 서버는 텍스트 메시지만 처리하기 때문에 이 경우 바이너리 메시지를 보내려고 하면 문제가 발생할 수 있습니다. 이런 경우에는 서버가 어떤 메시지 형식을 지원하는지 확인하고 테스트 설정을 조정해야 합니다. 마지막으로, STOMP 메시지 자체에 오류가 있는 것일 수 있으므로 실제 송신하는 데이터를 잘 살펴보셔야 합니다. 예를 들어, 헤더와 본문 사이에 공백 라인이 필요할 수 있습니다. 해당 방법을 시도해보았음에도 문제 해결이 되지 않으신다면 여전히 인코딩 문제일 수도 있습니다. 다양한 인코딩을 시도해 보거나 STOMP 클라이언트 라이브러리 등을 사용하여 접근하는 것도 하나의 방법입니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!