Monday 24 July 2017

Moving Average Grafit


GASES, LIQUIDS dan aplikasi SOLIDS dari model partikel untuk tiga keadaan model partikel materi, menjelaskan, menjelaskan sifat-sifat gas, cairan dan padatan Doc Browns Chemistry KS4 science GCSEIGCSE Revisi Catatan Perbandingan sifatnya GASES, LIQUIDS and SOLIDS States Catatan revisi gasliquidsolid Matter Bagian 1 Model partikel kinetik dan menjelaskan dan menjelaskan sifat-sifat gas, cairan dan padatan, perubahan dan solusi keadaan (bagian 1a sampai 3d) Anda harus tahu bahwa ketiga keadaan materi itu padat, cair dan gas. Peleburan dan pembekuan berlangsung pada titik leleh, mendidih dan kondensasi berlangsung pada titik didih. Ketiga keadaan materi dapat diwakili oleh model sederhana di mana partikel diwakili oleh bola padat kecil. Teori partikel dapat membantu menjelaskan pencairan, perebusan, pembekuan dan pengembunan. Jumlah energi yang diperlukan untuk mengubah keadaan dari padatan menjadi cair dan dari cair ke gas bergantung pada kekuatan kekuatan antara partikel substansi dan sifat partikel yang terlibat tergantung pada jenis ikatan dan struktur zat. Semakin kuat kekuatan antar partikel semakin tinggi titik leleh dan titik didih zat. Untuk rinciannya lihat catatan struktur dan ikatan. Keadaan fisik yang diadopsi material bergantung pada struktur, suhu dan tekanannya. Simbol negara yang digunakan dalam persamaan: (g) larutan cairan padat aqous (aq) berair (aq) larutan padat berarti sesuatu yang dilarutkan dalam air Sebagian besar diagram partikel pada halaman ini adalah representasi 2D dari struktur dan keadaannya CONTOH TIGA FISIK STATES OF MATTER GASES mis Campuran udara di sekitar kita (termasuk oksigen yang dibutuhkan untuk pembakaran) dan uap bertekanan tinggi pada boiler dan silinder lokomotif uap. Semua gas di udara tidak terlihat, tidak berwarna dan transparan. Perhatikan bahwa uap yang Anda lihat di luar ketel atau lokomotif uap sebenarnya adalah tetesan cairan air yang halus, terbentuk dari uap gas buang yang dikeluarkan saat memenuhi udara dingin perubahan gas ke cairan (efek yang sama pada kabut dan kabut) . LIQUIDS mis. Air adalah contoh yang paling umum, tapi begitu juga susu, mentega panas, bensin, minyak, merkuri atau alkohol dalam termometer. SOLIDS mis. Batu, semua logam pada suhu kamar (kecuali merkuri), karet sepatu boot dan sebagian besar benda fisik di sekitar Anda. Sebenarnya sebagian besar benda tidak berguna kecuali jika memiliki struktur padat. Pada halaman ini sifat fisik dasar gas, cairan dan padatan dijelaskan dalam bentuk struktur, gerakan partikel (teori partikel kinetik), efek perubahan suhu dan tekanan, dan model partikel. Digunakan untuk menjelaskan sifat dan karakteristik ini. Mudah-mudahan, teori dan fakta akan sesuai untuk memberi para siswa pemahaman yang jelas tentang dunia material di sekitar mereka dalam hal gas, cairan dan padatan yang disebut sebagai tiga keadaan fisik materi. Perubahan keadaan yang dikenal sebagai pencairan, peleburan, pendidihan, penguapan, pengembunan, pencairan, pembekuan, pemadatan, kristalisasi dijelaskan dan dijelaskan dengan gambar model partikel untuk membantu pemahaman. Ada juga penyebutan cairan yang mudah larut dan tidak bercampur dan menjelaskan persyaratan volatile dan volatilitas saat diterapkan pada cairan. Catatan revisi tentang keadaan materi ini seharusnya berguna untuk kursus sains kimia AQA, Edexcel dan OCR GCSE (91) yang baru. Subindex untuk bagian Bagian I (halaman ini): 1.1. The Three States of Matter, model teori partikel gasliquidsolid Tiga keadaan materi padat, cair dan gas. Baik pencairan dan pembekuan bisa terjadi pada titik leleh, sedangkan mendidih dan kondensasi berlangsung pada titik didih. Penguapan bisa terjadi pada suhu apapun dari permukaan cair. Anda bisa mewakili tiga keadaan materi dengan model partikel sederhana. Dalam modeldiagrams ini, partikel diwakili oleh bola padat kecil (struktur elektron diabaikan). Teori partikel kinetik dapat membantu menjelaskan perubahan keadaan seperti pencairan, pendinginan, pembekuan dan pengembunan. Jumlah energi yang dibutuhkan untuk mengubah keadaan dari padatan menjadi cair atau dari cair ke gas bergantung pada kekuatan kekuatan antara partikel substansi. Kekuatan ini mungkin merupakan kekuatan intermolekuler yang relatif lemah (ikatan antarmolekul) atau ikatan kimia kuat (ionik, kovalen atau logam). Sifat partikel yang terlibat tergantung pada jenis ikatan kimia dan struktur zat. Semakin kuat kekuatan tarik antara partikel semakin tinggi titik lebur dan titik didih zatnya APA ITU TIGA NEGARA MATERI Sebagian besar bahan dapat digambarkan sebagai gas, cair atau padat. MENGAPA MEREKA SEPERTI APA YANG MEREKA Saja mengetahui cukup, kita membutuhkan teori gas yang komprehensif, yang dapat menjelaskan perilaku mereka dan membuat prediksi tentang apa yang terjadi mis. Jika kita mengubah suhu atau tekanan. BAGAIMANA KITA MENJELASKAN BAGAIMANA MEREKA MEMILIKI Kita memerlukan model teoritis mis. Teori partikel yang didukung oleh bukti eksperimental. MODEL PARTIKEL YANG BISA MEMBANTU KAMI MEMAHAMI SIFAT DAN KARAKTERISTIK MEREKA MENGAPA SAYA PENTING UNTUK MENGETAHUI SIFAT-SIFATNYA GAS, LIQUIDS DAN SOLIDS Penting dalam industri kimia untuk mengetahui tentang perilaku gas, cairan dan padatan dalam proses kimia mis. Apa yang terjadi pada keadaan yang berbeda dengan perubahan suhu dan tekanan. Apa itu TEORI PARTIKEL KINETIKA, cairan dan padatan Teori partikel kinetik keadaan materi didasarkan pada gagasan semua bahan yang ada sebagai partikel sangat kecil yang mungkin merupakan atom atau molekul individu dan interaksinya satu sama lain. Oleh tabrakan dalam gas atau cairan atau oleh getaran dan ikatan kimia dalam padatan. DAPATKAN KAMI MEMBUAT PREDIKSI BERDASARKAN SIFAT-SIFAT KARAKTERISTIK Halaman ini memperkenalkan deskripsi fisik umum zat-zat di tingkat klasifikasi fisik (nonkritis) yang paling sederhana yaitu gas, cairan atau zat padat. NAMUN, halaman web ini juga memperkenalkan model partikel di mana lingkaran kecil mewakili sebuah atom atau molekul yaitu partikel tertentu atau satuan zat yang paling sederhana. Bagian ini cukup abstrak karena Anda berbicara tentang partikel yang tidak dapat Anda lihat secara terpisah, hanya material massal dan karakter fisik dan propertinya. Apakah ada LIMITASI pada model partikel Partikel diperlakukan sebagai bola inelastis sederhana dan hanya berperilaku seperti bola snooker menit yang terbang di sekitar, tidak sepenuhnya benar, tapi terbang melintas secara acak tanpa henti Meskipun partikel diasumsikan sebagai bola keras dan inelastis. , Pada kenyataannya mereka adalah segala bentuk dan putaran dan tekuk pada tumbukan dengan partikel lain dan ketika mereka bereaksi, mereka terbagi menjadi fragmen saat ikatan pecah. Model sederhana mengasumsikan tidak ada kekuatan di antara partikel-partikel itu, tidak benar, model ini sedikit memperhitungkan kekuatan di antara partikel-partikel, bahkan pada gas-gas yang Anda dapatkan dengan kekuatan antarmolekul sangat lemah. Model partikel tidak memperhitungkan ukuran sebenarnya partikel mis. Ionsmolekul dapat berukuran berbeda secara luas mis. Bandingkan molekul etena dengan molekul poli (etena) Ruang di antara partikel APA ITU NEGARA YANG BERKELANJUTAN APA YANG DAPAT DILARANG DARI GAS BAGAIMANA BERBAGAI PARTIKEL BERBEDA Bagaimana teori teori partikel kinetik menjelaskan sifat gas A gas Tidak memiliki bentuk atau volume tetap, tapi selalu menyebar untuk mengisi wadah - molekul gas akan berdifusi ke tempat yang tersedia. Hampir tidak ada kekuatan tarik-menarik antara partikel sehingga mereka benar-benar bebas satu sama lain. Partikel secara luas ditempatkan dan tersebar pada bergerak cepat secara acak ke seluruh wadah sehingga tidak ada ketertiban dalam sistem. Partikel bergerak secara linier dan cepat ke segala arah. Dan sering bertabrakan satu sama lain dan sisi wadah. Tumbukan partikel gas dengan permukaan wadah menyebabkan tekanan gas. Pada memantul dari permukaan mereka mengerahkan kekuatan dalam melakukannya. Dengan kenaikan suhu. Partikel bergerak lebih cepat karena mereka mendapatkan energi kinetik. Tingkat tumbukan antara partikel itu sendiri dan permukaan wadah meningkat dan ini meningkatkan tekanan gas misalnya di lokomotif uap atau volume wadah jika bisa meluas misalnya seperti balon. Gas memiliki kerapatan (cahaya) sangat rendah karena partikelnya begitu berjarak dalam wadah (density mass volume). Density order: gas cair gtgtgt gt gtgtgt Gas mengalir dengan bebas karena tidak ada kekuatan daya tarik yang efektif antara molekul partikel gas. Kemudahan urutan aliran. Cairan gtgtgt cair (tidak ada aliran nyata dalam padatan kecuali jika Anda mengaduknya) Karena gas dan cairan ini digambarkan sebagai cairan. Gas tidak memiliki permukaan. Dan tidak ada bentuk atau volume tetap. Dan karena kurangnya daya tarik partikel, mereka selalu menyebar dan mengisi wadah apapun (jadi volume volume gas kontainer). Gas mudah dikompres karena ruang kosong di antara partikel. Kemudahan kompresi order. Gas gas Bila gas dikurung dalam wadah, partikel akan menyebabkan dan menggunakan tekanan gas yang diukur di atmosfir (atm) atau Pascal (1,0 Pa 1,0 Nm 2), gas tidak mengandung zat terlarut. Tekanan adalah forcearea yaitu efek dari semua tumbukan pada permukaan wadah. Tekanan gas disebabkan oleh kekuatan yang diciptakan oleh jutaan dampak partikel gas kecil individu di sisi wadah. Misalnya, jika jumlah partikel gas dalam wadah berlipat ganda, tekanan gas dua kali lipat karena dua kali lipat jumlah molekul melipatgandakan jumlah dampak pada sisi wadah sehingga kekuatan benturan total per satuan luas juga berlipat ganda. Dua kali lipat dari dampak partikel menggandakan tekanan digambarkan dalam dua diagram di bawah ini. Jika volume wadah tertutup rapat dijaga konstan dan gas di dalamnya dipanaskan sampai suhu yang lebih tinggi, tekanan gas akan meningkat. Alasan untuk ini adalah bahwa saat partikel dipanaskan, mereka mendapatkan energi kinetik dan bergerak rata-rata lebih cepat. Oleh karena itu mereka akan bertabrakan dengan sisi kontainer dengan kekuatan benturan yang lebih besar. Sehingga meningkatkan tekanan. Ada juga frekuensi tabrakan yang lebih besar dengan sisi wadah NAMUN ini merupakan faktor minor dibandingkan dengan efek peningkatan energi kinetik dan kenaikan rata-rata kekuatan benturan. Oleh karena itu sejumlah gas yang tetap dalam wadah tertutup dengan volume konstan, semakin tinggi suhu semakin besar tekanan dan semakin rendah suhu, semakin rendah tekanannya. Untuk perhitungan gas pressuretemperature lihat Bagian 2 Hukum CharlessGayLussacs Jika volume wadah dapat berubah, gas mudah berkembang pada pemanasan karena kurangnya daya tarik partikel, dan siap berkontraksi pada pendinginan. Pada pemanasan, partikel gas mendapatkan energi kinetik. Bergerak lebih cepat dan tekan sisi wadah lebih sering. Dan secara signifikan, mereka memukul dengan kekuatan yang lebih besar. Bergantung pada situasi kontainer, salah satu atau kedua tekanan atau volume akan meningkat (terbalik pada pendinginan). Catatan: Ini adalah volume gas yang mengembang TIDAK molekulnya, mereka tetap berukuran sama Jika tidak ada batasan volume, ekspansi pada pemanasan jauh lebih besar untuk gas daripada cairan dan padatan karena tidak ada daya tarik yang signifikan antara partikel gas. Energi kinetik rata-rata yang meningkat akan membuat tekanan gas meningkat dan gas akan mencoba untuk memperluas volume jika diizinkan untuk mis. Balon di ruangan yang hangat secara signifikan lebih besar dari balon yang sama di ruangan yang dingin Untuk perhitungan volumetemperatur gas lihat Bagian 2 Hukum CharlessGayLussacs DIFUSI DALAM Gas: Gerakan cepat dan acak alami partikel ke segala arah berarti bahwa gas mudah menyebar atau menyebar. Pergerakan bersih gas tertentu akan berada di arah dari konsentrasi rendah ke konsentrasi yang lebih tinggi, turunkan gradien difusi socalled. Ffusi berlanjut sampai konsentrasi seragam di seluruh wadah gas, namun SEMUA partikel terus bergerak dengan energi kinetik yang pernah ada. Difusi lebih cepat terjadi pada gas daripada cairan dimana ada lebih banyak ruang untuk dipindahkan (percobaan diilustrasikan di bawah ini) dan difusi adalah Diabaikan dalam padatan karena pengepakan partikel yang dekat. Difusi bertanggung jawab atas penyebaran bau bahkan tanpa gangguan udara misalnya. Gunakan parfum, buka stoples kopi atau bau bensin di sekitar garasi. Laju difusi meningkat dengan kenaikan suhu saat partikel mendapatkan energi kinetik dan bergerak lebih cepat. Bukti lain untuk pergerakan partikel acak termasuk difusi. Ketika partikel asap dilihat di bawah mikroskop, mereka tampak menari saat diterangi sinar lampu pada suhu 90 o ke arah penayangan. Hal ini karena partikel asap muncul dengan memantulkan cahaya dan tarian karena jutaan hits acak dari molekul udara bergerak cepat. Ini disebut gerak Brown (lihat di bawah cairan). Pada waktu tertentu, hitnya tidak akan genap, jadi partikel asapnya bisa menjadi pukulan yang lebih besar secara acak. Percobaan difusi dua molekul gas diilustrasikan di atas dan dijelaskan di bawah Sebuah tabung kaca panjang (diameter 24 cm) diisi di salah satu ujungnya dengan steker kapas yang direndam dalam conc. Asam klorida disegel dengan karet bung (untuk kesehatan dan keselamatan) dan tabung tetap terjaga diam, dijepit dalam posisi horizontal. Serangkaian conc yang serupa. Larutan amonia ditempatkan di ujung yang lain. Soket wol kapas yang dibasahi akan mengeluarkan asap HCl dan NH3 masing-masing, dan jika tabung dibiarkan tidak terganggu dan horizontal, meskipun tidak ada gerakan tabung, mis. Tidak bergetar untuk mencampur dan tidak adanya konveksi, awan putih terbentuk sekitar 1 3 rd sepanjang conc. Ujung tabung asam klorida. Penjelasan: Apa yang terjadi adalah gas tak berwarna, amonia dan hidrogen klorida, berdifusi ke dalam tabung dan bereaksi membentuk kristal putih halus dari garam amonium klorida. Ammonia hidrogen klorida gt amonium klorida NH 3 (g) HCl (g) gt NH 4 Cl (s) Perhatikan aturannya: Semakin kecil massa molekulnya, semakin besar kecepatan rata-rata molekul (tetapi semua gas memiliki energi kinetik rata-rata yang sama Pada suhu yang sama). Oleh karena itu semakin kecil massa molekulnya, semakin cepat gas berdifusi. misalnya M r (NH 3) 14 1x3 17. Bergerak lebih cepat dari M r (HCl) 1 35,5 36,5 DAN itulah mengapa mereka bertemu di dekat ujung HCl tabung Jadi percobaan tidak hanya merupakan bukti pergerakan molekul. Ini juga merupakan bukti bahwa molekul molekul yang berbeda bergerak dengan kecepatan berbeda. Untuk perawatan matematis lihat Grahams of the Difusion Sebuah gas berwarna, lebih berat dari pada udara (kepadatan lebih besar), dimasukkan ke dalam tabung gas bawah dan tabung gas kedua dari udara tanpa warna yang lebih rendah ditempatkan di atasnya dipisahkan dengan penutup kaca. Percobaan difusi harus tertutup pada suhu konstan untuk meminimalkan gangguan konveksi. Jika penutup kaca dilepaskan maka (i) gas udara yang tidak berwarna berdifusi ke dalam gas coklat berwarna dan (ii) bromin berdifusi ke udara. Gerakan partikel acak yang mengarah ke pencampuran tidak dapat terjadi karena konveksi karena gas yang lebih padat mulai dari bawah. Tidak ada guncangan atau sarana pencampuran lainnya yang diperlukan. Gerakan acak kedua partikel cukup untuk memastikan bahwa kedua gas akhirnya menjadi benar-benar dicampur oleh difusi (menyebar satu sama lain). Ini adalah bukti yang jelas untuk difusi karena pergerakan kontinu acak dari semua partikel gas dan, pada awalnya, pergerakan bersih satu jenis partikel dari yang lebih tinggi ke konsentrasi yang lebih rendah (turunkan gradien difusi). Bila dicampur penuh, tidak ada perubahan distribusi warna lebih lanjut yang diamati. TAPI gerakan partikel acak terus berlanjut. Lihat juga bukti lain di bagian cairan setelah model partikel untuk diagram difusi di bawah ini. Sebuah model partikel difusi dalam gas. Bayangkan gradien difusi dari kiri ke kanan untuk partikel hijau ditambahkan ke partikel biru di sebelah kiri. Jadi, untuk partikel hijau, migrasi bersih dari kiri ke kanan dan akan berlanjut, dalam wadah tertutup, sampai semua partikel merata dalam wadah gas (seperti yang digambarkan). Difusi lebih cepat dalam gas dibandingkan dengan larutan cair karena ada lebih banyak ruang di antara partikel untuk partikel lain bergerak secara acak. Bila padat dipanaskan partikelnya bergetar lebih kuat saat mereka mendapatkan energi kinetik dan kekuatan tarik partikel melemah. Akhirnya, pada titik lebur. Kekuatan yang menarik terlalu lemah untuk menahan partikel dalam struktur secara teratur dan dengan demikian padatannya meleleh. Perhatikan bahwa kekuatan antarmolekul masih ada untuk menahan cairan curah bersama tapi efeknya tidak cukup kuat untuk membentuk kisi kristal yang dipesan dengan solid. Partikel menjadi bebas untuk bergerak dan kehilangan pengaturan tertata. Energi dibutuhkan untuk mengatasi daya tarik dan memberi partikel energi kinetik getaran yang meningkat. Jadi panas diambil dari sekitarnya dan mencair adalah proses endotermik (916H ve). Perubahan energi untuk perubahan keadaan fisik ini untuk berbagai zat ditangani di bagian Catatan Energi. Dijelaskan menggunakan teori partikel kinetik cairan dan padatan Pada pendinginan, partikel cair kehilangan energi kinetik sehingga bisa menjadi lebih kuat tertarik satu sama lain. Bila suhunya cukup rendah, energi kinetik partikel tidak mencukupi untuk mencegah kekuatan menarik partikel yang menyebabkan padatan terbentuk. Akhirnya pada titik beku kekuatan daya tarik cukup untuk menghilangkan kebebasan bergerak yang tersisa (dalam hal satu tempat ke tempat lain) dan partikel berkumpul untuk membentuk susunan padat yang dipesan (walaupun partikelnya masih memiliki energi kinetik getaran. Harus dilepas ke sekitarnya, sangat aneh, pembekuan adalah proses eksotermik (916H) perubahan energi komparatif perubahan keadaan gas ltgt cair ltgt solid 2f (i) Kurva pendinginan Apa yang terjadi pada suhu suatu zat Jika didinginkan dari keadaan gas ke keadaan padat Perhatikan suhu tetap konstan selama perubahan keadaan kondensasi pada suhu Tc dan freezingsolidifying pada suhu Tf Hal ini karena semua energi panas dilepaskan pada pendinginan pada suhu ini (pemanasan laten Atau enthalpies of state change), memungkinkan penguatan kekuatan antarpartikel (ikatan antarmolekul) tanpa suhu turun. Kehilangan panas adalah kompensasi D oleh eksotermik meningkatkan daya tarik antarmolekul. Di antara bagian perubahan keadaan horisontal grafik, Anda dapat melihat pelepasan energi mengurangi energi kinetik partikel, menurunkan suhu zat. Lihat bagian 2. untuk penjelasan rinci tentang perubahan negara. Kurva pendinginan merangkum perubahan: Untuk setiap perubahan keadaan, energi harus dilepaskan. Dikenal sebagai panas laten. Nilai energi aktual untuk perubahan keadaan fisik ini untuk berbagai zat ditangani secara lebih rinci dalam Catatan Energi. 2f (ii) Kurva Pemanasan. Apa yang terjadi pada suhu suatu zat jika dipanaskan dari keadaan padat ke keadaan gas Perhatikan suhu tetap konstan selama perubahan keadaan pelelehan pada suhu Tm dan mendidih pada suhu Tb. Hal ini karena semua energi yang diserap dalam pemanasan pada suhu ini (pemanasan laten atau enthalpies perubahan keadaan), berlanjut menjadi melemahnya kekuatan antarpartikel (ikatan antarmolekul) tanpa kenaikan suhu. Gain panas sama dengan energi diserap endothermicheat yang dibutuhkan untuk mengurangi kekuatan antarmolekul. . Di antara bagian perubahan keadaan horizontal pada grafik, Anda dapat melihat masukan energi meningkatkan energi kinetik partikel dan menaikkan suhu zat. Lihat bagian 2. untuk penjelasan rinci tentang perubahan negara. Kurva pemanasan merangkum perubahan: Untuk setiap perubahan keadaan, energi harus ditambahkan. Dikenal sebagai panas laten. Nilai energi aktual untuk perubahan keadaan fisik ini untuk berbagai zat ditangani secara lebih rinci dalam Catatan Energi. PANAS KHUSUS PANAS Panas laten untuk perubahan keadaan cairan padat ltgt disebut panas pelepasan fusi khusus (untuk pencairan atau pembekuan). Panas laten untuk negara mengubah gas ltgt cair disebut panas laten yang spesifik dari penguapan (untuk pengembunan, penguapan atau pendidihan) Untuk informasi lebih lanjut tentang panas laten, lihat catatan fisika saya tentang panas laten tertentu Dijelaskan dengan menggunakan teori partikel kinetik gas dan padatan Ini Adalah saat padatan, pada pemanasan, langsung berubah menjadi gas tanpa mencair, DAN gas pada pendinginan melakukan reformasi yang solid secara langsung tanpa terkondensasi pada cairan. Sublimasi biasanya hanya melibatkan perubahan fisik NAMUN tidak selalu sesederhana itu (lihat amonium klorida). Teori dalam hal partikel. Bila padat dipanaskan, partikel bergetar dengan kekuatan yang meningkat dari energi panas tambahan. Jika partikel memiliki cukup energi kinetik getaran untuk sebagian mengatasi kekuatan menarik particleparticle, Anda akan mengharapkan solid meleleh. NAMUN, jika partikel pada titik ini memiliki energi yang cukup pada titik ini yang akan menyebabkan mendidih, cairan TIDAK terbentuk dan padatan berubah langsung menjadi gas. Secara keseluruhan perubahan endotermik. Energi diserap dan dibawa masuk ke sistem. Pada pendinginan, partikel bergerak lebih lambat dan memiliki energi kinetik yang kurang. Akhirnya, bila energi kinetik partikel cukup rendah, maka akan memungkinkan kekuatan menarik particleparticle untuk menghasilkan cairan. NAMUN energi mungkin cukup rendah untuk memungkinkan pembentukan langsung dari padatan, yaitu partikel TIDAK memiliki cukup energi kinetik untuk mempertahankan keadaan cair Perubahan eksotermik keseluruhan. Energi dilepaskan dan diberikan ke sekitarnya. Bahkan pada suhu kamar botol kristal yodium padat terbentuk di bagian atas botol di atas yang padat. Pemanasan yang lebih hangat di laboratorium, semakin banyak kristal terbentuk saat mendingin di malam hari. Jika Anda dengan lembut memanaskan iodium dalam tabung reaksi, Anda akan melihat yodium dengan mudah luhur dan rekristalisasi di permukaan yang lebih dingin di dekat bagian atas tabung reaksi. Pembentukan bentuk beku tertentu melibatkan pembekuan langsung uap air (gas). Frost juga bisa menguap langsung kembali ke uap air (gas) dan ini terjadi pada musim dingin yang kering dan sangat dingin di Gurun Gobi pada hari yang cerah. H 2 O (s) H 2 O (g) (hanya perubahan fisik) Karbon dioksida padat (es kering) terbentuk pada pendinginan gas sampai kurang dari 78 o C. Pada pemanasan, perubahannya langsung berubah menjadi gas yang sangat dingin. Mengembunkan uap air di udara ke kabut, maka penggunaannya dalam efek panggung. CO 2 (s) CO 2 (g) (hanya perubahan fisik) Pada pemanasan dengan kuat pada tabung reaksi, amonium klorida padat putih. Terurai menjadi campuran dua gas amonia tak berwarna dan hidrogen klorida. Pada pendinginan reaksi dibalik dan perbaikan amonium klorida padat di permukaan atas tabung uji yang lebih dingin. Amonium klorida energi panas amonia hidrogen klorida T ini melibatkan perubahan kimia dan fisik dan lebih rumit daripada contoh 1. sampai 3. Sebenarnya kristal amonium klorida ionik berubah menjadi gas amonia dan hidrogen klorida kovalen yang secara alami jauh lebih mudah menguap ( Zat kovalen umumnya memiliki titik leleh dan titik didih yang jauh lebih rendah daripada zat ionik). Gambar partikel cair tidak terlihat di sini, namun model lainnya sepenuhnya berlaku terlepas dari perubahan keadaan yang melibatkan pembentukan cairan. Model partikel GAS dan model partikel SOLID link. HARAP DIPERHATIKAN, Pada tingkat studi yang lebih tinggi. Anda perlu mempelajari diagram fase gls untuk air dan kurva tekanan uap es pada suhu tertentu. Misalnya, jika tekanan uap ambien kurang dari tekanan uap ekuilibrium pada suhu es, sublimasi dapat dengan mudah terjadi. Salju dan es di daerah dingin Gurun Gobi tidak meleleh di Matahari, mereka perlahan-lahan lenyap lenyap 2 h. Lebih lanjut tentang perubahan panas dalam perubahan fisik negara Perubahan keadaan fisik yaitu gas ltgt cair ltgt padat juga disertai dengan perubahan energi. Untuk melelehkan zat padat, atau mendidih cairan, energi panas harus diserap atau diambil dari lingkungan sekitar, jadi ini adalah perubahan energi endotermik. Sistem dipanaskan untuk efek perubahan ini. Untuk mengembunkan gas, atau membekukan energi panas padat, harus dilepaskan atau diberikan ke sekitarnya, jadi ini adalah perubahan energi eksotermik. Sistem didinginkan untuk mempengaruhi perubahan ini. Secara umum, semakin besar kekuatan antar partikel, semakin besar energi yang dibutuhkan untuk mempengaruhi perubahan keadaan DAN semakin tinggi titik lebur dan titik didih. Perbandingan energi yang dibutuhkan untuk meleleh atau merebus berbagai jenis zat (Ini lebih untuk siswa tingkat lanjut) Perubahan energi panas yang terlibat dalam perubahan keadaan dapat dinyatakan dalam kJmol zat untuk perbandingan yang adil. Pada tabel di bawah ini 916H mencair adalah energi yang dibutuhkan untuk mencairkan 1 mol zat (rumus massa dalam g). 916H vap adalah energi yang dibutuhkan untuk menguap dengan penguapan atau perebusan 1 mol zat (rumus massa dalam g). Untuk molekul kovalen kecil sederhana, energi yang diserap oleh material relatif kecil untuk meleleh atau menguapkan zat dan semakin besar molekul semakin besar kekuatan antarmolekul. Kekuatan ini lemah dibandingkan dengan ikatan kimia yang menahan atom bersama dalam molekul itu sendiri. Energi yang relatif rendah dibutuhkan untuk meleleh atau mengosongkannya. Zat ini memiliki titik leleh dan titik didih yang relatif rendah. Untuk jaringan 3D berikat kuat mis. (Iii) dan kisi logam ion dan elektron terluar bebas (ikatan eterik), strukturnya jauh lebih kuat secara kontinyu karena ikatan kimia kontinyu di seluruh struktur. Akibatnya, energi yang jauh lebih besar diperlukan untuk meleleh atau menguapkan bahan. Inilah sebabnya mengapa mereka memiliki titik leleh dan titik didih yang jauh lebih tinggi. Jenis ikatan, struktur dan kekuatan yang menarik yang beroperasi Titik lebur K (Kelvin) o C 273 Energi yang diperlukan untuk melelehkan zat Titik didih K (Kelvin) o C 273 Energi dibutuhkan untuk merebus zat 3a. APA YANG TERJADI PADA PARTIKEL KETIKA SOLID DISSOLVES DALAM SOLVEN LIQUID Apa kata-kata SOLVENT, SOLUTE and SOLUTION mean Bila zat padat (zat terlarut) larut dalam cairan (pelarut), campuran yang dihasilkan disebut solusinya. Secara umum: larutan pelarut terlarut Jadi, zat terlarut inilah yang larut dalam pelarut, pelarut adalah cairan yang melarutkan beberapa hal dan solusinya adalah hasil pelarutan sesuatu dalam pelarut. Padat kehilangan semua struktur regulernya dan partikel padat (molekul atau ion) masing-masing sekarang benar-benar bebas satu sama lain dan dicampur secara acak dengan partikel cair asli, dan semua partikel dapat bergerak secara acak. Ini menggambarkan garam larut dalam air, gula larut dalam teh atau lilin larut dalam pelarut hidrokarbon seperti roh putih. Biasanya tidak melibatkan reaksi kimiawi, jadi ini umumnya contoh perubahan fisik. Apapun perubahan volume cairan padat, dibandingkan dengan solusi akhir, UU Konservasi Misa masih berlaku. Ini berarti: massa massa zat terlarut padat dari massa larutan pelarut cair setelah dicampur dan dilarutkan. Anda tidak bisa menciptakan massa atau kehilangan massa. Tapi hanya mengubah massa zat menjadi bentuk lain. Jika pelarut diuapkan. Maka solidnya direformasi mis. Jika larutan garam ditinggalkan untuk waktu yang lama atau dipanaskan dengan lembut untuk mempercepatnya, pada akhirnya bentuk kristal garam, prosesnya disebut kristalisasi. 3b. APA YANG TERJADI PADA PARTIKEL KETIKA DUA KALI SEGERA MIX DENGAN SETIAP APA APAKAH KATA APA PUN YANG MISCIBLE BERARTI Menggunakan model partikel untuk menjelaskan cairan yang bisa disembuhkan. Jika dua cairan benar-benar mencampur dalam bentuk partikelnya, mereka disebut cairan yang mudah larut karena keduanya larut dalam satu sama lain. Hal ini ditunjukkan pada diagram di bawah dimana partikel benar-benar bercampur dan bergerak secara acak. Prosesnya bisa dibalik dengan distilasi fraksional. 3c. APA YANG TERJADI TERHADAP PARTIKEL KETIKA DUA KALI TIDAK MIX DENGAN SETIAP APA YANG APA YANG DIMAKSUDKAN KATA BIJI MIMPI SENDIRI MENGAPA MATA TIDAK MIX Menggunakan model partikel untuk menjelaskan cairan yang tidak bercampur. Jika kedua cairan itu TIDAK bercampur. Mereka membentuk dua lapisan yang terpisah dan dikenal sebagai cairan tak bercampur, diilustrasikan pada diagram di bawah dimana cairan ungu bawah akan lebih padat daripada lapisan atas cairan hijau. Anda dapat memisahkan dua cairan ini dengan menggunakan corong pemisah. Alasan untuk ini adalah bahwa interaksi antara molekul salah satu cairan saja lebih kuat daripada interaksi antara dua molekul berbeda dari cairan yang berbeda. Misalnya, kekuatan tarik antara molekul air jauh lebih besar daripada molekul oiloil atau molekul air laut, jadi dua lapisan terpisah terbentuk karena molekul air, dalam hal perubahan energi, disukai dengan tetap saling menempel. 3d. Bagaimana corong pemisah digunakan 1. Campuran dimasukkan ke dalam corong pemisah dengan stopper dan keran ditutup dan lapisannya tertinggal. 2. Stopper dilepaskan, dan keran dibuka sehingga Anda dapat dengan hati-hati menjalankan lapisan bawah abu-abu terlebih dahulu ke dalam gelas kimia. 3. Ketukan kemudian ditutup kembali, tertinggal dari cairan lapisan atas kuning, sehingga memisahkan dua cairan yang tidak bercampur. Lampiran 1 beberapa gambar partikel sederhana dari ELEMEN, SENYAWA, DAN CAMPURAN GCSEIGCSE pilihan ganda QUIZ pada keadaan gas materi, cairan amp padat Beberapa latihan dasar yang mudah dari sains KS3 QCA 7G quot Model partikel padatan, cairan dan gas Beberapa Pertanyaan Pilihan untuk Revisi Ilmu pada gas , Cairan dan partikel padat, sifat, menjelaskan perbedaan di antara keduanya. Lihat juga untuk perhitungan gas gcse chemistry revisi catatan rinci rinci tentang keadaan materi untuk membantu merevisi catatan kimia kimia igcse igcse notes on states of matter O level chemical revision free detailed notes on states of matter untuk membantu merevisi catatan kimia bebas gcse pada negara bagian Materi untuk membantu merevisi situs web online tingkat O kimia untuk membantu merevisi keadaan materi untuk situs web gratis gcse chemistry online untuk membantu merevisi keadaan materi untuk situs web online bebas kimia igcse untuk membantu merevisi tingkat O dari materi kimia bagaimana berhasil dalam pertanyaan di negara bagian Materi untuk kimia gcse bagaimana cara sukses di kimia igcse bagaimana cara sukses di kimia tingkat O situs web yang bagus untuk pertanyaan gratis mengenai keadaan materi untuk membantu menyampaikan pertanyaan kimia pada negara bagian dari sebuah situs web yang baik untuk bantuan gratis untuk lulus kimia igcse dengan Catatan revisi tentang keadaan materi sebuah situs web yang baik untuk bantuan gratis untuk lulus tingkat kimia O apa tiga keadaan materi menarik a diagram of the particle model diagram of a gas, particle theory of a gas, draw a particle model diagram of a liquid, particle theory of a liquid, draw a particle model diagram of a solid, particle theory of a solid, what is diffusion why can you have diffusion in gases and liquids but not in solids what are the limitations of the particle model of a gas liquid or solid how to use the particle model to explain the properties of a gas, what causes gas pressure how to use the particle model to explain the properties of a solid, how to use the particle model to explain the properties of a solid, why is a gas easily compressed but difficult to compress a liquid or solid how do we use the particle model to explain changes of state explaining melting with the particle model, explaining boiling with the particle model, explaining evaporation using the particle model, explaining condensing using the particle model, explaining freezing with the particle model, how do you read a thermometer wor king out the state of a substance at a particular temperature given its melting point and boiling point, how to draw a cooling curve, how to draw a heating curve, how to explain heatingcooling curves in terms of state changes and latent heat, what is sublimation what substances sublime explaining endothermic and exothermic energy changes of state, using the particle model to explain miscible and immiscible liquids GASES, LIQUIDS, SOLIDS, States of Matter, particle models, theory of state changes, melting, boiling, evaporation, condensing, freezing, solidifying, cooling curves, 1.1 Three states of matter: 1.1a gases, 1.1b liquids, 1.1c solids 2. State changes: 2a evaporation and boiling, 2b condensation, 2c distillation, 2d melting, 2e freezing, 2f cooling and heating curves and relative energy changes, 2g sublimation 3. Dissolving, solutions. miscibleimmiscible liquids Boiling Boiling point Brownian motion Changes of state Condensing Cooling curve Diffusion Dissolving Evaporation Freezing Freezing point Gas particle picture Heating curve Liquid particle picture Melting Melting point miscibleimmiscible liquids Properties of gases Properties of liquids Properties of solids solutions sublimation Solid particle picture GCSEIGCSE multiple choice QUIZ on states of matter gases liquids solids practice revision questions Revision notes on particle models and properties of gases, liquids and solids KS4 Science GCSEIGCSEO level Chemistry Information on particle models and properties of gases, liquids and solids for revising for AQA GCSE Science, Edexcel Science chemistry IGCSE Chemistry notes on particle models and properties of gases, liquids and solids OCR 21st Century Science, OCR Gateway Science notes on particle models and properties of gases, liquids and solids WJEC gcse science chemistry notes on particl e models and properties of gases, liquids and solids CIE O Level chemistry CIE IGCSE chemistry notes on particle models and properties of gases, liquids and solids CCEACEA gcse science chemistry (revise courses equal to US grade 8, grade 9 grade 10) science chemistry courses revision guides explanation chemical equations for particle models and properties of gases, liquids and solids educational videos on particle models and properties of gases, liquids and solids guidebooks for revising particle models and properties of gases, liquids and solids textbooks on particle models and properties of gases, liquids and solids state changes amp particle model for AQA AS chemistry, state changes amp particle model for Edexcel A level AS chemistry, state changes amp particle model for A level OCR AS chemistry A, state changes amp particle model for OCR Salters AS chemistry B, state changes amp particle model for AQA A level chemistry, state changes amp particle model for A level Edexcel A level c hemistry, state changes amp particle model for OCR A level chemistry A, state changes amp particle model for A level OCR Salters A level chemistry B state changes amp particle model for US Honours grade 11 grade 12 state changes amp particle model for pre-university chemistry courses pre-university A level revision notes for state changes amp particle model A level guide notes on state changes amp particle model for schools colleges academies science course tutors images pictures diagrams for state changes amp particle model A level chemistry revision notes on state changes amp particle model for revising module topics notes to help on understanding of state changes amp particle model university courses in science careers in science jobs in the industry laboratory assistant apprenticeships technical internships USA US grade 11 grade 11 AQA A level chemistry notes on state changes amp particle model Edexcel A level chemistry notes on state changes amp particle model for OCR A level chem istry notes WJEC A level chemistry notes on state changes amp particle model CCEACEA A level chemistry notes on state changes amp particle model for university entrance examinations describe some limitations of the particle model for gases, liquids and solidsRoll Up Doors, Commercial Overhead and Garage If your looking for a roll up door, garage door, commercial door, shed door or barn door. We have several staff members ready to answer any questions that you may have. We can also take your order over the phone. Toll Free Phone 1-877-753-6677 To Order Thanks for your business. The next generation available today. where you get more for less. We are glad to have you on our website, and even happier to demonstrate why our products are the state of the art highest performance on the market today. We are a US based company that specializes in making roll up, commercial garage and wind load rated doors and would like to tell you about our line of products. Thousands and thousands of our units are in operation all over the world, every day of the year. Our roll up doors. commercial roll up doors and garage doors are special because they are made of good quality components. Delivering a high quality, cost effective product is our standard and that is just why our units have been chosen by many companies, small and large. In the 10 years that we have been in business we have made a good name for ourselves in countries around the world. Explore our site and get an even more in-depth view of our product range in real world conditions. Through our web site you will be able to see our price list and brochures. Telephone: 1-352-243-0180 Toll Free 1-877-753-6677 In need of a single unit for your shed, building or supplying a complete mini storage facility, we can ship any amount directly to your job site. Commercial, Heavy Duty, Wind Certified designed to 150 mph wind, we can deliver from several strategically located plants in Orlando, FL. Mesa, AZ. Temple GA. Anaheim, CA. Butler, IN. Houston, TX. Made In The US. Ready To Buy Go ToStep 5 . Telephone: 1-352-243-0180 Toll Free: 1-877-753-6677 . Follow these steps to find the correct size door: We can supply you with a selection of units from major manufactures at discount prices. Our prices are for a boxed ready to ship unit (shipping depends on garage door size and zip code). All our units come complete with frame, fixings, mounting brackets, tension or reduced drive chain, locklatch system in any of 22 colors. We can offer you the right product at the right price for the following applications: Commercial steel rollingoverhead. Light use and medium use metal units. Heavy Duty Wind rated units inc. Dade county approved. Sizes up to 20ft wide and 16ft high. Also medium to heavy duty commercial doors. If you would like to place an order or receive more information, please use our web site, or contact us by telephone. FREE PHONE 1-877-753-6677 TO ORDER Interested in learning more and seeing our fantastic selection Simply visit our website today to start shopping Your source for doors. ( Period ) If you need a door, no matter what kind it is weve got it for less We are Doors Direct. We work directly with Manufacturers, allowing us to reduce expenses. We are pioneers of the direct-to-the-consumer approach, And we can offer our customers great service as well as Substantial savings. At Doors Direct we have a beautiful and large selection of styles to choose from Whether you are in the market for a new garage door, Roll-up-door, roll up shed door, roll up barn door or a commercial door, Doors Direct has the variety And quality to suit your needs NOBODY BEATS OUR PRICES. Were so confident our prices cant be beat, we guarantee it We offer a Low Price Guarantee on all in-stock merchandise. Just compare our total priceitem price tax (if applicable) shipping amp handling to the total price of other online stores. If you find a lower price, we will match the price and refund 10 of the difference Just call or visit our awesome website to begin shopping LOG ON, or CALL NOW and get the best prices on: Garage Doors Roll up Doors Commercial Doors Roll Up Barn Doors Accessories Roll Up Shed Doors Roll Up SCounter Doors And much more Log on now to view our full inventory BuyDoorsDirect Or call us 1-877-753-6677 DOOR SPRINGS: During production, each spring is coated with a generous amount of grease that penetrates the innermost pores of the spring with additives, displacing moisture and preventing the formation of rust and corrosion. In addition, this process relieves the friction created between spring coils, thereby providing a smoother door operation. Finally, the spring and axle assembly is enclosed in a tube to protect them from the elements encountered throughout the life of the door. OPTIONAL PACKAGE PROTECTION amp SHIPPING: Doors stacked on top of each other in transit are going to shifthellip unless they can be packaged in a way to minimize the sliding that occurs during that time. Janus has found the way. As an option, we can suspend each door individually in crates. Whether they travel down the block or across the country, compaction damages, door abrasions and chatter marks are virtually eliminated. RATCHET TENSIONING DEVICE: The ratchet tensioning device, supplied as standard equipment on our door, offers a simpler method of tensioning while more accurately fine tuning all the springs on the door at the same time. There is no extra hardware required. Eight different positions on the tension wheel allow one to perfectly balance the door every time. There are no pins required to hold the tension on the springhellip you simply just click it. RADIAL BALL BEARINGS: Roll Up Doors Direct supplies radial ball bearings at no additional cost to you. Our permanently-lubricated bearings require no maintenance and are guaranteed to last the entire life span of the door. DEAD AXLE amp TORQUE TUBE ASSEMBLY: This design, noted for its durability and smoother operation with commercial applications, has now been incorporated into the Janus self storage door. The tube housing protects the springs and strengthens the axle. Eliminating axle push and shift that can occur with a live axle, the dead axle design allows for a straighter travel path of the door curtain in the guides. The greatest feature of this design is that it affords the fine tuning of any spring adjustment to equally affect all springs on the door at the same time. DOOR STOPS: Our removable door stops are simple to install and prevent the curtain from over traveling the guide when raising the door MAGNETIC ZINC COATED STEEL OR OPTIONAL STAINLESS STEEL LATCH: Our patented mini latch features a cover plate made from a heavy gauge yellow zinc coated steel or optional stainless steel. In addition, the latch cover protects the slide from tampering by completely covering the slide, with the exception of a tab used to operate the latch. To further secure the door, the latchrsquos two inch throw, with its magnetic properties, can be incorporated with the new guidemounted security devices. This versatile design affords you the ability to utilize padlocks, cylinder locks or both. DOOR CURTAIN: The 26 gauge corrugated door curtain is manufactured from full hard galvanized grade 80 steel and coated with Super Durable polyester paint that is backed by a 40 year film integrity and 25 year no-fade limited paint warranty. Available in sizes up to 10rsquo0rdquo x 10rsquo0rdquo and in over 20 different standard colors. All DRUMS are fitted with a grease filled, shielded radial ball bearing to contribute to a smoother operation and reduce wear and friction. Factory installed galvanized reinforced 16 gauge BRACKETS (12 gauge for doors over 9rsquo wide or 8rsquo tall) are designed to easily snap onto the guides, reducing installation time. Galvanized, guide-mounted HEAD STOPS are simple to install and prevent curtain over travel when raising the door. Installed through guide after curtain is lowered, they provide definite contact with the bottom bar angle and stop clips. The RATCHET SPRING TENSIONER ASSEMBLY is factory installed on the end of the door axle and allows precise fine tuning of the initial spring tension. Increments of 18 turn are possible. Tensioner adjusts both springs equally at the same time from only one end of the door. Roll formed clear acrylic coated galvanized steel BOTTOM BAR reinforced with a 1-12rdquo x 1-12rdquo 14 gauge full width galvanized angle that extends fully into the guides. The PVC bulb astragal provides positive contact with floor. Lift handle(s) and stop clips installed on exterior side of bottom bar and a non-rotting pull rope is attached to the inside angle. Oil-tempered helical torsion SPRINGS are factory lubricated to minimize friction and corrosion while increasing the spring cycle life. Spring wire confirms to ASTM A 229.Full width galvanized steel BARREL totally encloses the drums, springs and axle. Barrel-type construction reduces door sag, eliminates drum dents and improves operation due to an even support of the curtain for the entire width. Galvanized and pre-painted with long lasting Super Durable polyester paint, the 26 gauge CORRUGATED CURTAIN is roll formed from ASTM A 653 grade 80 full hard steel. This premium steel yields greater door strength and minimized curtain damage. Full height felt tape on back of curtain prevents nesting and reduces paint rubbing. 20 colors are standard, with others available on special order. Available in sizes up to 10rsquo0rdquo x 10rsquo0rdquo. Roll formed, 18 gauge galvanized GUIDES are fitted with dual polyethylene wear strips to reduce friction and muffle door noises. All guide attachment to jamb is performed through the guides without the addition of clips welded to the back of the guide. This gives a neater appearance, increased strength and aids in tight installations. Yellow zinc coated steel or optional stainless steel cover, slide and four attachment bolts are factory installed. The slide exhibits magnetic properties that can be used to activate a guide mounted security sensor. LATCH accepts all industry padlocks, including 716rdquo diameter shanks. Provision for cylinder lock included. Featured ProductsGraphite 1 performs two pretty simple tasks: storing numbers that change over time and graphing them. There has been a lot of software written over the years to do these same tasks. What makes Graphite unique is that it provides this functionality as a network service that is both easy to use and highly scalable. The protocol for feeding data into Graphite is simple enough that you could learn to do it by hand in a few minutes (not that youd actually want to, but its a decent litmus test for simplicity). Rendering graphs and retrieving data points are as easy as fetching a URL. This makes it very natural to integrate Graphite with other software and enables users to build powerful applications on top of Graphite. One of the most common uses of Graphite is building web-based dashboards for monitoring and analysis. Graphite was born in a high-volume e-commerce environment and its design reflects this. Scalability and real-time access to data are key goals. The components that allow Graphite to achieve these goals include a specialized database library and its storage format, a caching mechanism for optimizing IO operations, and a simple yet effective method of clustering Graphite servers. Rather than simply describing how Graphite works today, I will explain how Graphite was initially implemented (quite naively), what problems I ran into, and how I devised solutions to them. 7.1. The Database Library: Storing Time-Series Data Graphite is written entirely in Python and consists of three major components: a database library named whisper. a back-end daemon named carbon. and a front-end webapp that renders graphs and provides a basic UI. While whisper was written specifically for Graphite, it can also be used independently. It is very similar in design to the round-robin-database used by RRDtool, and only stores time-series numeric data. Usually we think of databases as server processes that client applications talk to over sockets. However, whisper. much like RRDtool, is a database library used by applications to manipulate and retrieve data stored in specially formatted files. The most basic whisper operations are create to make a new whisper file, update to write new data points into a file, and fetch to retrieve data points. Figure 7.1: Basic Anatomy of a whisper File As shown in Figure 7.1. whisper files consist of a header section containing various metadata, followed by one or more archive sections. Each archive is a sequence of consecutive data points which are (timestamp, value) pairs. When an update or fetch operation is performed, whisper determines the offset in the file where data should be written to or read from, based on the timestamp and the archive configuration. 7.2. The Back End: A Simple Storage Service Graphites back end is a daemon process called carbon-cache. usually simply referred to as carbon. It is built on Twisted, a highly scalable event-driven IO framework for Python. Twisted enables carbon to efficiently talk to a large number of clients and handle a large amount of traffic with low overhead. Figure 7.2 shows the data flow among carbon. whisper and the webapp: Client applications collect data and send it to the Graphite back end, carbon. which stores the data using whisper. This data can then be used by the Graphite webapp to generate graphs. Figure 7.2: Data Flow The primary function of carbon is to store data points for metrics provided by clients. In Graphite terminology, a metric is any measurable quantity that can vary over time (like the CPU utilization of a server or the number of sales of a product). A data point is simply a (timestamp, value) pair corresponding to the measured value of a particular metric at a point in time. Metrics are uniquely identified by their name, and the name of each metric as well as its data points are provided by client applications. A common type of client application is a monitoring agent that collects system or application metrics, and sends its collected values to carbon for easy storage and visualization. Metrics in Graphite have simple hierarchical names, similar to filesystem paths except that a dot is used to delimit the hierarchy rather than a slash or backslash. carbon will respect any legal name and creates a whisper file for each metric to store its data points. The whisper files are stored within carbon s data directory in a filesystem hierarchy that mirrors the dot-delimited hierarchy in each metrics name, so that (for example) servers. www01.cpuUsage maps to hellipserverswww01cpuUsage. wsp . When a client application wishes to send data points to Graphite it must establish a TCP connection to carbon. usually on port 2003 2. The client does all the talking carbon does not send anything over the connection. The client sends data points in a simple plain-text format while the connection may be left open and re-used as needed. The format is one line of text per data point where each line contains the dotted metric name, value, and a Unix epoch timestamp separated by spaces. For example, a client might send: On a high level, all carbon does is listen for data in this format and try to store it on disk as quickly as possible using whisper. Later on we will discuss the details of some tricks used to ensure scalability and get the best performance we can out of a typical hard drive. 7.3. The Front End: Graphs On-Demand The Graphite webapp allows users to request custom graphs with a simple URL-based API. Graphing parameters are specified in the query-string of an HTTP GET request, and a PNG image is returned in response. For example, the URL: requests a 500times300 graph for the metric servers. www01.cpuUsage and the past 24 hours of data. Actually, only the target parameter is required all the others are optional and use your default values if omitted. Graphite supports a wide variety of display options as well as data manipulation functions that follow a simple functional syntax. For example, we could graph a 10-point moving average of the metric in our previous example like this: Functions can be nested, allowing for complex expressions and calculations. Here is another example that gives the running total of sales for the day using per-product metrics of sales-per-minute: The sumSeries function computes a time-series that is the sum of each metric matching the pattern products..salesPerMinute. Then integral computes a running total rather than a per-minute count. From here it isnt too hard to imagine how one might build a web UI for viewing and manipulating graphs. Graphite comes with its own Composer UI, shown in Figure 7.3. that does this using Javascript to modify the graphs URL parameters as the user clicks through menus of the available features. Figure 7.3: Graphites Composer Interface 7.4. Dashboards Since its inception Graphite has been used as a tool for creating web-based dashboards. The URL API makes this a natural use case. Making a dashboard is as simple as making an HTML page full of tags like this: However, not everyone likes crafting URLs by hand, so Graphites Composer UI provides a point-and-click method to create a graph from which you can simply copy and paste the URL. When coupled with another tool that allows rapid creation of web pages (like a wiki) this becomes easy enough that non-technical users can build their own dashboards pretty easily. 7.5. An Obvious Bottleneck Once my users started building dashboards, Graphite quickly began to have performance issues. I investigated the web server logs to see what requests were bogging it down. It was pretty obvious that the problem was the sheer number of graphing requests. The webapp was CPU-bound, rendering graphs constantly. I noticed that there were a lot of identical requests, and the dashboards were to blame. Imagine you have a dashboard with 10 graphs in it and the page refreshes once a minute. Each time a user opens the dashboard in their browser, Graphite has to handle 10 more requests per minute. This quickly becomes expensive. A simple solution is to render each graph only once and then serve a copy of it to each user. The Django web framework (which Graphite is built on) provides an excellent caching mechanism that can use various back ends such as memcached. Memcached 3 is essentially a hash table provided as a network service. Client applications can get and set key-value pairs just like an ordinary hash table. The main benefit of using memcached is that the result of an expensive request (like rendering a graph) can be stored very quickly and retrieved later to handle subsequent requests. To avoid returning the same stale graphs forever, memcached can be configured to expire the cached graphs after a short period. Even if this is only a few seconds, the burden it takes off Graphite is tremendous because duplicate requests are so common. Another common case that creates lots of rendering requests is when a user is tweaking the display options and applying functions in the Composer UI. Each time the user changes something, Graphite must redraw the graph. The same data is involved in each request so it makes sense to put the underlying data in the memcache as well. This keeps the UI responsive to the user because the step of retrieving data is skipped. 7.6. Optimizing IO Imagine that you have 60,000 metrics that you send to your Graphite server, and each of these metrics has one data point per minute. Remember that each metric has its own whisper file on the filesystem. This means carbon must do one write operation to 60,000 different files each minute. As long as carbon can write to one file each millisecond, it should be able to keep up. This isnt too far fetched, but lets say you have 600,000 metrics updating each minute, or your metrics are updating every second, or perhaps you simply cannot afford fast enough storage. Whatever the case, assume the rate of incoming data points exceeds the rate of write operations that your storage can keep up with. How should this situation be handled Most hard drives these days have slow seek time 4. that is, the delay between doing IO operations at two different locations, compared to writing a contiguous sequence of data. This means the more contiguous writing we do, the more throughput we get. But if we have thousands of files that need to be written to frequently, and each write is very small (one whisper data point is only 12 bytes) then our disks are definitely going to spend most of their time seeking. Working under the assumption that the rate of write operations has a relatively low ceiling, the only way to increase our data point throughput beyond that rate is to write multiple data points in a single write operation. This is feasible because whisper arranges consecutive data points contiguously on disk. So I added an updatemany function to whisper. which takes a list of data points for a single metric and compacts contiguous data points into a single write operation. Even though this made each write larger, the difference in time it takes to write ten data points (120 bytes) versus one data point (12 bytes) is negligible. It takes quite a few more data points before the size of each write starts to noticeably affect the latency. Next I implemented a buffering mechanism in carbon. Each incoming data point gets mapped to a queue based on its metric name and is then appended to that queue. Another thread repeatedly iterates through all of the queues and for each one it pulls all of the data points out and writes them to the appropriate whisper file with updatemany. Going back to our example, if we have 600,000 metrics updating every minute and our storage can only keep up with 1 write per millisecond, then the queues will end up holding about 10 data points each on average. The only resource this costs us is memory, which is relatively plentiful since each data point is only a few bytes. This strategy dynamically buffers as many datapoints as necessary to sustain a rate of incoming datapoints that may exceed the rate of IO operations your storage can keep up with. A nice advantage of this approach is that it adds a degree of resiliency to handle temporary IO slowdowns. If the system needs to do other IO work outside of Graphite then it is likely that the rate of write operations will decrease, in which case carbon s queues will simply grow. The larger the queues, the larger the writes. Since the overall throughput of data points is equal to the rate of write operations times the average size of each write, carbon is able to keep up as long as there is enough memory for the queues. carbon s queueing mechanism is depicted in Figure 7.4 . Figure 7.4: Carbons Queueing Mechanism 7.7. Keeping It Real-Time Buffering data points was a nice way to optimize carbon s IO but it didnt take long for my users to notice a rather troubling side effect. Revisiting our example again, weve got 600,000 metrics that update every minute and were assuming our storage can only keep up with 60,000 write operations per minute. This means we will have approximately 10 minutes worth of data sitting in carbon s queues at any given time. To a user this means that the graphs they request from the Graphite webapp will be missing the most recent 10 minutes of data: Not good Fortunately the solution is pretty straight-forward. I simply added a socket listener to carbon that provides a query interface for accessing the buffered data points and then modifies the Graphite webapp to use this interface each time it needs to retrieve data. The webapp then combines the data points it retrieves from carbon with the data points it retrieved from disk and voila, the graphs are real-time. Granted, in our example the data points are updated to the minute and thus not exactly real-time, but the fact that each data point is instantly accessible in a graph once it is received by carbon is real-time. 7.8. Kernels, Caches, and Catastrophic Failures As is probably obvious by now, a key characteristic of system performance that Graphites own performance depends on is IO latency. So far weve assumed our system has consistently low IO latency averaging around 1 millisecond per write, but this is a big assumption that requires a little deeper analysis. Most hard drives simply arent that fast even with dozens of disks in a RAID array there is very likely to be more than 1 millisecond latency for random access. Yet if you were to try and test how quickly even an old laptop could write a whole kilobyte to disk you would find that the write system call returns in far less than 1 millisecond. Why Whenever software has inconsistent or unexpected performance characteristics, usually either buffering or caching is to blame. In this case, were dealing with both. The write system call doesnt technically write your data to disk, it simply puts it in a buffer which the kernel then writes to disk later on. This is why the write call usually returns so quickly. Even after the buffer has been written to disk, it often remains cached for subsequent reads. Both of these behaviors, buffering and caching, require memory of course. Kernel developers, being the smart folks that they are, decided it would be a good idea to use whatever user-space memory is currently free instead of allocating memory outright. This turns out to be a tremendously useful performance booster and it also explains why no matter how much memory you add to a system it will usually end up having almost zero free memory after doing a modest amount of IO. If your user-space applications arent using that memory then your kernel probably is. The downside of this approach is that this free memory can be taken away from the kernel the moment a user-space application decides it needs to allocate more memory for itself. The kernel has no choice but to relinquish it, losing whatever buffers may have been there. So what does all of this mean for Graphite We just highlighted carbon s reliance on consistently low IO latency and we also know that the write system call only returns quickly because the data is merely being copied into a buffer. What happens when there is not enough memory for the kernel to continue buffering writes The writes become synchronous and thus terribly slow This causes a dramatic drop in the rate of carbon s write operations, which causes carbon s queues to grow, which eats up even more memory, starving the kernel even further. In the end, this kind of situation usually results in carbon running out of memory or being killed by an angry sysadmin. To avoid this kind of catastrophe, I added several features to carbon including configurable limits on how many data points can be queued and rate-limits on how quickly various whisper operations can be performed. These features can protect carbon from spiraling out of control and instead impose less harsh effects like dropping some data points or refusing to accept more data points. However, proper values for those settings are system-specific and require a fair amount of testing to tune. They are useful but they do not fundamentally solve the problem. For that, well need more hardware. 7.9. Clustering Making multiple Graphite servers appear to be a single system from a user perspective isnt terribly difficult, at least for a naiumlve implementation. The webapps user interaction primarily consists of two operations: finding metrics and fetching data points (usually in the form of a graph). The find and fetch operations of the webapp are tucked away in a library that abstracts their implementation from the rest of the codebase, and they are also exposed through HTTP request handlers for easy remote calls. The find operation searches the local filesystem of whisper data for things matching a user-specified pattern, just as a filesystem glob like. txt matches files with that extension. Being a tree structure, the result returned by find is a collection of Node objects, each deriving from either the Branch or Leaf sub-classes of Node. Directories correspond to branch nodes and whisper files correspond to leaf nodes. This layer of abstraction makes it easy to support different types of underlying storage including RRD files 5 and gzipped whisper files. The Leaf interface defines a fetch method whose implementation depends on the type of leaf node. In the case of whisper files it is simply a thin wrapper around the whisper librarys own fetch function. When clustering support was added, the find function was extended to be able to make remote find calls via HTTP to other Graphite servers specified in the webapps configuration. The node data contained in the results of these HTTP calls gets wrapped as RemoteNode objects which conform to the usual Node. Branch. and Leaf interfaces. This makes the clustering transparent to the rest of the webapps codebase. The fetch method for a remote leaf node is implemented as another HTTP call to retrieve the data points from the nodes Graphite server. All of these calls are made between the webapps the same way a client would call them, except with one additional parameter specifying that the operation should only be performed locally and not be redistributed throughout the cluster. When the webapp is asked to render a graph, it performs the find operation to locate the requested metrics and calls fetch on each to retrieve their data points. This works whether the data is on the local server, remote servers, or both. If a server goes down, the remote calls timeout fairly quickly and the server is marked as being out of service for a short period during which no further calls to it will be made. From a user standpoint, whatever data was on the lost server will be missing from their graphs unless that data is duplicated on another server in the cluster. 7.9.1. A Brief Analysis of Clustering Efficiency The most expensive part of a graphing request is rendering the graph. Each rendering is performed by a single server so adding more servers does effectively increase capacity for rendering graphs. However, the fact that many requests end up distributing find calls to every other server in the cluster means that our clustering scheme is sharing much of the front-end load rather than dispersing it. What we have achieved at this point, however, is an effective way to distribute back-end load, as each carbon instance operates independently. This is a good first step since most of the time the back end is a bottleneck far before the front end is, but clearly the front end will not scale horizontally with this approach. In order to make the front end scale more effectively, the number of remote find calls made by the webapp must be reduced. Again, the easiest solution is caching. Just as memcached is already used to cache data points and rendered graphs, it can also be used to cache the results of find requests. Since the location of metrics is much less likely to change frequently, this should typically be cached for longer. The trade-off of setting the cache timeout for find results too long, though, is that new metrics that have been added to the hierarchy may not appear as quickly to the user. 7.9.2. Distributing Metrics in a Cluster The Graphite webapp is rather homogeneous throughout a cluster, in that it performs the exact same job on each server. carbon s role, however, can vary from server to server depending on what data you choose to send to each instance. Often there are many different clients sending data to carbon. so it would be quite annoying to couple each clients configuration with your Graphite clusters layout. Application metrics may go to one carbon server, while business metrics may get sent to multiple carbon servers for redundancy. To simplify the management of scenarios like this, Graphite comes with an additional tool called carbon-relay. Its job is quite simple it receives metric data from clients exactly like the standard carbon daemon (which is actually named carbon-cache ) but instead of storing the data, it applies a set of rules to the metric names to determine which carbon-cache servers to relay the data to. Each rule consists of a regular expression and a list of destination servers. For each data point received, the rules are evaluated in order and the first rule whose regular expression matches the metric name is used. This way all the clients need to do is send their data to the carbon-relay and it will end up on the right servers. In a sense carbon-relay provides replication functionality, though it would more accurately be called input duplication since it does not deal with synchronization issues. If a server goes down temporarily, it will be missing the data points for the time period in which it was down but otherwise function normally. There are administrative scripts that leave control of the re-synchronization process in the hands of the system administrator. 7.10. Design Reflections My experience in working on Graphite has reaffirmed a belief of mine that scalability has very little to do with low-level performance but instead is a product of overall design. I have run into many bottlenecks along the way but each time I look for improvements in design rather than speed-ups in performance. I have been asked many times why I wrote Graphite in Python rather than Java or C, and my response is always that I have yet to come across a true need for the performance that another language could offer. In Knu74 , Donald Knuth famously said that premature optimization is the root of all evil. As long as we assume that our code will continue to evolve in non-trivial ways then all optimization 6 is in some sense premature. One of Graphites greatest strengths and greatest weaknesses is the fact that very little of it was actually designed in the traditional sense. By and large Graphite evolved gradually, hurdle by hurdle, as problems arose. Many times the hurdles were foreseeable and various pre-emptive solutions seemed natural. However it can be useful to avoid solving problems you do not actually have yet, even if it seems likely that you soon will. The reason is that you can learn much more from closely studying actual failures than from theorizing about superior strategies. Problem solving is driven by both the empirical data we have at hand and our own knowledge and intuition. Ive found that doubting your own wisdom sufficiently can force you to look at your empirical data more thoroughly. For example, when I first wrote whisper I was convinced that it would have to be rewritten in C for speed and that my Python implementation would only serve as a prototype. If I werent under a time-crunch I very well may have skipped the Python implementation entirely. It turns out however that IO is a bottleneck so much earlier than CPU that the lesser efficiency of Python hardly matters at all in practice. As I said, though, the evolutionary approach is also a great weakness of Graphite. Interfaces, it turns out, do not lend themselves well to gradual evolution. A good interface is consistent and employs conventions to maximize predictability. By this measure, Graphites URL API is currently a sub-par interface in my opinion. Options and functions have been tacked on over time, sometimes forming small islands of consistency, but overall lacking a global sense of consistency. The only way to solve such a problem is through versioning of interfaces, but this too has drawbacks. Once a new interface is designed, the old one is still hard to get rid of, lingering around as evolutionary baggage like the human appendix. It may seem harmless enough until one day your code gets appendicitis (i. e. a bug tied to the old interface) and youre forced to operate. If I were to change one thing about Graphite early on, it would have been to take much greater care in designing the external APIs, thinking ahead instead of evolving them bit by bit. Another aspect of Graphite that causes some frustration is the limited flexibility of the hierarchical metric naming model. While it is quite simple and very convenient for most use cases, it makes some sophisticated queries very difficult, even impossible, to express. When I first thought of creating Graphite I knew from the very beginning that I wanted a human-editable URL API for creating graphs 7. While Im still glad that Graphite provides this today, Im afraid this requirement has burdened the API with excessively simple syntax that makes complex expressions unwieldy. A hierarchy makes the problem of determining the primary key for a metric quite simple because a path is essentially a primary key for a node in the tree. The downside is that all of the descriptive data (i. e. column data) must be embedded directly in the path. A potential solution is to maintain the hierarchical model and add a separate metadata database to enable more advanced selection of metrics with a special syntax. 7.11. Becoming Open Source Looking back at the evolution of Graphite, I am still surprised both by how far it has come as a project and by how far it has taken me as a programmer. It started as a pet project that was only a few hundred lines of code. The rendering engine started as an experiment, simply to see if I could write one. whisper was written over the course of a weekend out of desperation to solve a show-stopper problem before a critical launch date. carbon has been rewritten more times than I care to remember. Once I was allowed to release Graphite under an open source license in 2008 I never really expected much response. After a few months it was mentioned in a CNET article that got picked up by Slashdot and the project suddenly took off and has been active ever since. Today there are dozens of large and mid-sized companies using Graphite. The community is quite active and continues to grow. Far from being a finished product, there is a lot of cool experimental work being done, which keeps it fun to work on and full of potential. launchpadgraphite There is another port over which serialized objects can be sent, which is more efficient than the plain-text format. This is only needed for very high levels of traffic. memcached. org Solid-state drives generally have extremely fast seek times compared to conventional hard drives. RRD files are actually branch nodes because they can contain multiple data sources an RRD data source is a leaf node. Knuth specifically meant low-level code optimization, not macroscopic optimization such as design improvements. This forces the graphs themselves to be open source. Anyone can simply look at a graphs URL to understand it or modify it.

No comments:

Post a Comment