Nhiệm vụ: Cài đặt máy chủ OSRM

Cài đặt máy chủ OSRM

OSRM (Open Source Routing Machine) là một công cụ cực kỳ tuyệt vời! Nó cho phép bạn chuẩn bị trước tất cả các tuyến đường có thể dựa trên cơ sở dữ liệu OSM (Open Street Map) được cung cấp, sau đó tính toán các tuyến đường trên bản đồ một cách cực kỳ nhanh chóng, và thậm chí có thể chọn nhiều điểm cùng lúc. Đối với dự án du lịch của tôi, đây là một thứ không thể thay thế.

Dự án trên GitHub: https://github.com/Project-OSRM/osrm-backend

Trang web demo: https://map.project-osrm.org/

Nhưng có một điểm quan trọng: để chuẩn bị các tuyến đường này, bạn cần rất nhiều tài nguyên phần cứng. Năm ngoái, tôi đã chuẩn bị các tuyến đường cho 4 quốc gia cùng một lúc (Việt Nam, Thái Lan, Lào, Campuchia). Lúc đầu, tôi chạy việc này trên máy tính xách tay cá nhân của mình (ý tôi là chiếc máy tôi dùng riêng chứ không phải máy công ty cấp), và cấu hình của nó hoàn toàn không hề yếu (Core i7 thế hệ 14, RAM 64GB). Và đây là những gì đã xảy ra với nó:

Tức là nó thiếu tài nguyên và tiến trình bị sập.

Được rồi, tôi vừa mới mua một cỗ máy tính mạnh hơn để thử nghiệm AI, có nhiều tài nguyên hơn đáng kể — Core i9, RAM 128 GB. Và không phải là tôi quá ngạc nhiên, nhưng nó cũng không chịu nổi luôn :-) Tiến trình đã ngốn sạch toàn bộ 128 GB RAM và 8 GB swap.

Được rồi, tất tay luôn :-) Tôi tạo phân vùng swap tỉ lệ 1:1 với RAM, nghĩa là 128 GB RAM và 128 GB swap. Nói ngắn gọn: nó đã hoàn thành xuất sắc :-) Nhưng mức tiêu thụ bộ nhớ đỉnh điểm lên tới hơn 190 GB :-)

Tuy nhiên, cuối cùng nó cũng chạy xong và tạo ra tất cả các tuyến đường cho tôi. Có điều là cơ sở dữ liệu cuối cùng cho 4 quốc gia đó nặng tới hơn 100 GB. Trong khi chỉ riêng Việt Nam thôi thì chỉ có 5 GB.

du -hs *
101G	asia
5.3G	vietnam

Nhân tiện, khi chạy, nó cũng ngốn không ít tài nguyên đâu. Riêng container chứa dữ liệu tuyến đường của Việt Nam đã ngốn khoảng 3 GB RAM khi khởi động.