Tôi đang viết một số mã trên thiết bị di động sử dụng dịch vụ REST để truy xuất dữ liệu từ máy chủ lưu trữ. Các dịch vụ REST đó đang được Apache ủy quyền. Trong chế độ thử nghiệm tôi muốn có thể mô phỏng cúp mạng (như thể thiết bị đã mất kết nối di động của nó) để kiểm tra các ứng dụng xử lý các lỗi không liên tục. Tôi cũng cần phải xác nhận hành vi của nó với các kết nối mạng chậm. Tôi hiện đang sử dụng Traffic Shaper XP để làm chậm kết nối mạng, nhưng bây giờ tôi cần một cái gì đó để làm cho máy chủ Apache gửi kết nối reset cả ngẫu nhiên và trên các trình tự được xác định trước (để thiết lập và lặp lại các kịch bản thử nghiệm cụ thể).Làm thế nào để làm cho apache chậm và không đáng tin cậy?
Trả lời
Dường như dummynet là thứ gần nhất, nhưng vẫn không yên tĩnh ở đó. Đối với thử nghiệm lặp lại nó sẽ là tốt để có một số kiểm soát đối với các gói tin giảm và reset.
jack
Viết một proxy nhỏ chuyển tiếp kết nối TCP từ ứng dụng của bạn đến máy chủ apache và bạn có thể thiết lập trong thử nghiệm của mình để cắt kết nối sau x số byte hoặc mili giây.
Đây có phải là môi trường Unix hoặc Linux không? nice
để ưu tiên thấp hơn, sau đó chạy tác vụ sử dụng CPU cao như nghe nhạc, phát phim, tính toán pi, v.v. Ưu tiên thấp cho Apache sẽ tạo ra các vấn đề tương tự như những gì bạn đang tìm kiếm.
Đó là môi trường Windows (aaack). Tôi nghĩ rằng tôi có thể cần phải đứng lên một máy ảo Linux để thực sự có sự kiểm soát tôi cần. Tôi cũng nghĩ rằng tôi có thể cần phải viết một mô-đun apache để có được mức độ kiểm soát mà tôi muốn. –
Bạn có thể thực hiện tương tự với Windows. Chỉ cần đặt mức độ ưu tiên thành thấp nhất (nếu nó cho phép bạn), và sau đó chạy [SuperPI] (http://www.xtremesystems.com/superpi/). – Weegee
Trên một khác nhau (hoặc trên cùng) máy tính sử dụng công cụ dòng lệnh ab
để có được một số tải trên apache. Thêm thông tin here.
Trong Apache2, bạn có thể làm cho nó chậm bằng cách điều chỉnh cài đặt prefork trong apache2.conf. Các thiết lập dưới đây nên làm cho apache khá fn chậm. Họ đã làm cho ứng dụng web cục bộ của tôi mất thêm 700% thời gian để tải.
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 2
MaxSpareServers 2
MaxClients 4
MaxRequestsPerChild 0
</IfModule>
- 1. Làm thế nào để có đáng tin cậy QGLWidget chụp
- 2. NSTimer thay thế đáng tin cậy
- 3. HTTP_REFERER đáng tin cậy như thế nào?
- 4. Ổ cắm unix miền đáng tin cậy đáng tin cậy như thế nào?
- 5. Bitbucket có đáng tin cậy không?
- 6. Làm thế nào an toàn và đáng tin cậy là C++ String Literals?
- 7. Ràng buộc không đáng tin cậy
- 8. Có phải document.cookie đáng tin cậy không?
- 9. In_irq() có đáng tin cậy không?
- 10. javaFX MediaPlayer getCurrentTime() không đáng tin cậy
- 11. "AndroidAnnotaions" có đáng tin cậy không?
- 12. Cửa sổ.opener có đáng tin cậy không?
- 13. Làm thế nào để có được thời gian chèn đáng tin cậy trong Cassandra?
- 14. Ổ cắm có đáng tin cậy không?
- 15. Win32 SetForegroundWindow không đáng tin cậy
- 16. Làm thế nào để khôi phục đáng tin cậy MySQL blobs
- 17. Làm thế nào để đo lường đáng tin cậy bộ nhớ có sẵn trong Linux?
- 18. Làm thế nào để có được một nhà xuất bản đáng tin cậy/xác minh?
- 19. MonoDroid HttpWebRequest và WebClient không đáng tin cậy?
- 20. FileSystemWatcher đáng tin cậy trong .netFramwork 4 như thế nào?
- 21. Kiểm tra tệp -B đáng tin cậy như thế nào?
- 22. Làm thế nào đáng tin cậy là chức năng ngẫu nhiên trong Delphi
- 23. Làm thế nào đáng tin cậy là "đặt hàng" trong truy vấn NodeLists
- 24. C# MouseMove đáng tin cậy (hop)
- 25. Làm cách nào để so sánh hai PropertyInfos hoặc các phương thức đáng tin cậy?
- 26. Làm thế nào để chạy mã Ruby không đáng tin cậy bên trong một hộp cát an toàn?
- 27. Hẹn giờ đáng tin cậy hơn System.Threading.Timer
- 28. Thư viện HTTP đáng tin cậy cho .Net 2.0
- 29. Làm cách nào để triển khai bộ đếm trang web đáng tin cậy?
- 30. TCP vs UDP đáng tin cậy
Làm cho nó thực thi các tập lệnh PERL qua CGI. Điều đó sẽ làm chậm nó xuống. – skaffman
Điều đó không thực sự hữu ích ở tất cả các nghệ sĩ. – Weegee
Chiều Thứ Sáu. Tôi cảm thấy phù phiếm. – skaffman