


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!

ToAppendElementStoapyThonList, useTheAppend () methodforsingleelements, extend () formultipleelements, andInsert () forspecificposition.1) useAppend () foraddingOneElementAttheend.2)

TOCREATEAPYTHONLIST, USESQUAREBRACKETS [] danSeparatateItemSwithCommas.1) listsaredynamicandCanHoldMixedDatypes.2) UseAppend (), mengalih keluar (), danSlicingFormApulation.3)

Dalam bidang kewangan, penyelidikan saintifik, penjagaan perubatan dan AI, adalah penting untuk menyimpan dan memproses data berangka dengan cekap. 1) Dalam Kewangan, menggunakan memori yang dipetakan fail dan perpustakaan Numpy dapat meningkatkan kelajuan pemprosesan data dengan ketara. 2) Dalam bidang penyelidikan saintifik, fail HDF5 dioptimumkan untuk penyimpanan data dan pengambilan semula. 3) Dalam penjagaan perubatan, teknologi pengoptimuman pangkalan data seperti pengindeksan dan pembahagian meningkatkan prestasi pertanyaan data. 4) Dalam AI, data sharding dan diedarkan latihan mempercepatkan latihan model. Prestasi dan skalabiliti sistem dapat ditingkatkan dengan ketara dengan memilih alat dan teknologi yang tepat dan menimbang perdagangan antara kelajuan penyimpanan dan pemprosesan.

Pythonarraysarecreatedusingthearraymodule, notbuilt-inlikelists.1) importTheArrayModule.2) specifythetypecode, cth., 'I'forintegers.3) Initializewithvalues.arraysofferbettermemoryficiencyficorhomogeneousdatabutflex.

Sebagai tambahan kepada garis shebang, terdapat banyak cara untuk menentukan penterjemah python: 1. Gunakan perintah python terus dari baris arahan; 2. Gunakan fail batch atau skrip shell; 3. Gunakan alat binaan seperti membuat atau cmake; 4. Gunakan pelari tugas seperti Invoke. Setiap kaedah mempunyai kelebihan dan kekurangannya, dan penting untuk memilih kaedah yang sesuai dengan keperluan projek.

Forhandlinglargedatasetsinpython, usenumpyarraysforbetterperformance.1) numpyarraysarememory-efisien danfasterfornumumerical.2) mengelakkan yang tidak dapat dipertahankan.3)

Inpython, listsusedynamicMemoryAllocationwithover-peruntukan, pemecahan yang tidak dapat dilaksanakan.1) listsallocatemoremoremorythanneedinitial, resizingwhennessary.2) numpyarraysallocateExactMemoreForelements, menawarkanpredictableSabeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeat.

Inpython, YouCansspectHedatypeyFeleMeremodelerernspant.1) Usenpynernrump.1) usenpynerp.dloatp.ploatm64, formor preciscontrolatatypes.


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

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma
