Chúng tôi có một sản phẩm dựa trên ứng dụng của bên thứ 3, chạy trên máy chủ apache được kết nối với cơ sở dữ liệu firebird (v2.5.3).
Thật không may, chúng tôi đã đến một điểm là chúng tôi đang hết thời gian chờ khi người dùng cố gắng gửi yêu cầu đến máy chủ. Khi mở devtools->tab network thì thấy packet bị drop.
Để gỡ lỗi sự cố này, chúng tôi đã ghi lại lưu lượng truy cập Wireshark trên máy chủ và chúng tôi thấy rất nhiều sự kiện truyền lại. Một số gói http được truyền đi bình thường, nhưng một số gói này đang được truyền lại và tôi nghi ngờ rằng điều này gây ra thời gian chờ.
CPU máy chủ cao (50-100%), chủ yếu là do cơ sở dữ liệu firebird. Nhà cung cấp đám mây nơi lưu trữ máy chủ không có ổ SSD và chúng tôi biết rằng đây có thể là một vấn đề.
Một điều kỳ lạ là trên bản ghi Wireshark, chúng tôi không thấy các yêu cầu http từ người dùng. Đây là cách nó tìm kiếm các gói được nhận:
Khi tôi cố bắt các yêu cầu từ một IP cụ thể không thành công, tôi chỉ nhận được truyền lại TCP (vì vậy tôi không thấy chính yêu cầu đó). Không chắc liệu nó có đáng kể hay không, nhưng kết nối nằm trên cổng 443. Đây là một ví dụ về giao diện của nó:
Có thể là do cơ sở dữ liệu firebird đang bận/cpu cao, các gói http bị giảm xuống mức thấp hơn (sau 4-5 giây) ngay cả khi không đăng ký yêu cầu http trong Wireshark?
Vì chúng tôi không thể thay đổi đĩa thành SSD, bạn có nghĩ rằng việc nâng cấp CPU có thể giúp giải quyết vấn đề này không?
Có bất kỳ cấu hình apache hoặc firebird nào có thể cải thiện hiệu suất không?
Bất kỳ thông tin nào khác mà tôi có thể cố gắng thu thập để có thêm thông tin về sự cố?