


Muatkan Ujian menggunakan FastAPI dan Posmen: Panduan Komprehensif
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.
? Mengapa Menggunakan FastAPI dan Posmen untuk Ujian Beban?
FastAPI disertakan dengan sokongan OpenAPI terbina dalam, menjadikannya mudah untuk mendokumenkan dan menguji API anda. Dengan menggabungkan FastAPI dengan Posmen, anda boleh:
- Jana koleksi Posmen secara automatik daripada dokumentasi OpenAPI API FastAPI anda.
- Permudahkan persediaan permintaan dengan mengimport koleksi terus ke dalam Posmen.
- Manfaatkan ciri ujian dan skrip Posman yang berkuasa untuk penjanaan data dinamik.
- Skalakan ujian secara pemrograman dengan Newman, alat CLI Postman, untuk penyepaduan CI/CD.
Sinergi antara FastAPI dan Postman ini membolehkan pembangun mensimulasikan senario trafik dunia sebenar dengan cepat dan mengenal pasti kesesakan dalam aplikasi mereka.
?️ Langkah 1: Sediakan FastAPI dan Swagger
1.1 Mulakan Aplikasi FastAPI Anda
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.
1.2 Sahkan OpenAPI JSON
Buka penyemak imbas anda dan navigasi ke http://127.0.0.1:8000/openapi.json untuk memastikan OpenAPI JSON boleh diakses.
? Langkah 2: Mengeksport OpenAPI JSON kepada Posman
2.1 Salin titik akhir OpenAPI
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.
2.2 Import OpenAPI JSON ke dalam Posman
- Buka Posmen dan klik Import di penjuru kiri sebelah atas.
- Pilih fail openapi.json yang dimuat turun.
- Posmen akan menjana koleksi secara automatik dengan semua titik akhir ditakrifkan dalam spesifikasi OpenAPI.
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
2.3 Susun dan Uji Koleksi Anda
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.
? Langkah 3: Bersedia untuk Ujian Beban di Posmen
3.1 Tambahkan Data Dinamik pada Permintaan Anda
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.
3.2 Konfigurasikan Pembolehubah dalam Koleksi anda
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.
? Langkah 4: Menjalankan Ujian Prestasi dengan Pelari Koleksi Posmen
Posmen kini termasuk keupayaan ujian prestasi terbina dalam yang membolehkan anda mensimulasikan trafik pengguna dan menilai prestasi API anda.
4.1 Lancarkan Pelari Koleksi
- Klik pada butang Runner (ikon bikar) dalam Posmen.
- Pilih koleksi yang diimport daripada FastAPI OpenAPI JSON.4.2 Set Parameter Ujian anda
4.2 Konfigurasikan Tetapan Ujian Prestasi
- Pengguna Maya: Tentukan bilangan pengguna maya untuk mensimulasikan beban serentak.
- Tempoh Ujian: Tetapkan tempoh ujian harus dijalankan.
- Muat Profil: Pilih antara profil beban tetap, ramp-up, spike atau puncak untuk mensimulasikan corak trafik yang berbeza.4.3 Laksanakan Ujian Beban
4.3 Melaksanakan Ujian Prestasi
Klik Run untuk memulakan ujian prestasi. Posmen akan memaparkan metrik prestasi masa nyata seperti purata masa tindak balas, kadar ralat dan daya pemprosesan.
? Langkah 5: Menganalisis Keputusan Ujian
Selepas ujian selesai, analisa keputusan untuk mengenal pasti kesesakan prestasi:
- Masa Respons: Semak sama ada masa respons memenuhi kriteria prestasi permohonan anda.
- Kadar Ralat: Kenal pasti sebarang ralat yang berlaku semasa ujian dan siasat puncanya.
- Throughput: Menilai bilangan permintaan yang dikendalikan sesaat untuk memastikan ia sejajar dengan beban yang dijangkakan.
Posmen menyediakan metrik terperinci dan membolehkan anda membandingkan berbilang larian ujian untuk menjejaki perubahan prestasi dari semasa ke semasa.
? Amalan Terbaik untuk Ujian Beban dengan FastAPI dan Posmen
- Pastikan Dokumentasi OpenAPI dikemas kini: Pastikan dokumentasi FastAPI anda menggambarkan keadaan semasa API anda untuk ujian yang tepat.
- Gunakan Data Dinamik: Menggabungkan kebolehubahan dalam data ujian untuk mensimulasikan pelbagai senario dunia sebenar.
- Pantau Sumber Sistem: Gunakan alat pemantauan untuk memerhati penggunaan CPU, memori dan rangkaian semasa ujian.
- Automasikan Ujian: Sepadukan ujian prestasi ke dalam saluran paip CI/CD anda untuk penilaian berterusan.
- Lelaran Berdasarkan Penemuan: Kemas kini ujian dan aplikasi anda secara kerap berdasarkan hasil ujian prestasi.
? Kesimpulan
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.
