Bayangkan senario ini di mana permulaan anda mula mempunyai daya tarikan. Kiraan pengguna tiba-tiba meningkat! Dan kini terus meningkat daripada 10 pengguna kepada 100 pengguna dan telah menggunakan aplikasi anda untuk sekian lama. Mengklik beberapa butang, menggunakan beberapa ciri, membuat permintaan daripada pelayan bahagian belakang anda...
Apa yang anda tidak mahu dalam situasi seperti ini ialah ketidaksediaan. Anda ingin memastikan bahawa aplikasi anda Boleh Dipercayai dan Tersedia kepada pengguna. Di sinilah Pengujian dilaksanakan dan perkara yang akan kita bincangkan di sini ialah jenis ujian khusus yang sesuai untuk menguji senario jenis ini, Ujian beban.
Dalam panduan ini, kami akan menumpukan pada penggunaan FastAPI dan penjanaan spesifikasi OpenAPI automatiknya untuk menyelaraskan proses penjanaan koleksi Postman untuk ujian beban. Pada akhirnya, anda akan tahu cara menggunakan spesifikasi OpenAPI FastAPI dan Posman untuk menguji aplikasi anda pada skala.
FastAPI disertakan dengan sokongan OpenAPI terbina dalam, menjadikannya mudah untuk mendokumenkan dan menguji API anda. Dengan menggabungkan FastAPI dengan Posmen, anda boleh:
Sinergi antara FastAPI dan Postman ini membolehkan pembangun mensimulasikan senario trafik dunia sebenar dengan cepat dan mengenal pasti kesesakan dalam aplikasi mereka.
Pastikan aplikasi FastAPI anda berjalan secara setempat atau pada pelayan. Contohnya:
from fastapi import FastAPI app = FastAPI() @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)
Apabila pelayan bermula, titik akhir OpenAPI JSON akan tersedia di http://127.0.0.1:8000/openapi.json.
Buka penyemak imbas anda dan navigasi ke http://127.0.0.1:8000/openapi.json untuk memastikan OpenAPI JSON boleh diakses.
Anda boleh sama ada menyimpan fail JSON OpenAPI secara setempat dengan menggunakan penyemak imbas anda atau dengan curl:
curl -o openapi.json http://127.0.0.1:8000/openapi.json
Atau hanya dengan menyalin URL titik akhir OpenAPI, http://127.0.0.1:8000/openapi.json.
Jika anda baru sahaja menyalin URL titik akhir, anda hanya boleh menampal URL pada bar input di bahagian atas modal yang muncul apabila anda mengklik Import
Semak koleksi yang diimport untuk memastikan semua titik akhir dikonfigurasikan dengan betul. Anda juga boleh menambah pembolehubah atau skrip persekitaran mengikut keperluan untuk pengesahan atau pengurusan data.
Untuk mensimulasikan senario dunia sebenar, ubah suai permintaan anda untuk memasukkan data dinamik. Contohnya, gunakan pembolehubah terbina dalam Posman atau skrip pra-permintaan:
Contoh Skrip Pra-permintaan:
from fastapi import FastAPI app = FastAPI() @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)
Contoh Muatan:
curl -o openapi.json http://127.0.0.1:8000/openapi.json
Anda juga boleh hanya menggunakan skrip terbina dalam seperti $randomInt untuk menjana nilai rawak.
Contoh kes penggunaan menggunakan skrip terbina dalam:
pm.variables.set("random_id", Math.floor(Math.random() * 10000));
Skrip terbina dalam ini akan mengembalikan nilai rawak antara 0-1000 dalam setiap permintaan yang dibuat.
Gunakan pembolehubah koleksi dalam Posman untuk mengurus URL asas API, token pengesahan atau parameter dinamik tanpa Koleksi anda. Ini memudahkan kemas kini dan ujian merentas Koleksi anda.
Posmen kini termasuk keupayaan ujian prestasi terbina dalam yang membolehkan anda mensimulasikan trafik pengguna dan menilai prestasi API anda.
Klik Run untuk memulakan ujian prestasi. Posmen akan memaparkan metrik prestasi masa nyata seperti purata masa tindak balas, kadar ralat dan daya pemprosesan.
Selepas ujian selesai, analisa keputusan untuk mengenal pasti kesesakan prestasi:
Posmen menyediakan metrik terperinci dan membolehkan anda membandingkan berbilang larian ujian untuk menjejaki perubahan prestasi dari semasa ke semasa.
Dengan memanfaatkan spesifikasi OpenAPI FastAPI dan ciri ujian prestasi Postman, anda boleh mensimulasikan trafik pengguna dengan berkesan dan mengenal pasti isu prestasi yang berpotensi. Pendekatan ini membolehkan anda memastikan aplikasi FastAPI anda kekal teguh dan responsif di bawah keadaan beban yang berbeza-beza.
Selamat menguji!
Atas ialah kandungan terperinci Muatkan Ujian menggunakan FastAPI dan Posmen: Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!